Schrift?
-
Hi,
Frage1:
ich hab eine Frage und zwar sieht man wenn man diesen Code eingibt, dass der Hintergrund schwarz ist, und die schrift auch, aber warum ist dort so ein weiser rand.
wie kann man dem wegmachen?
Frage2:
Wie kann man die schriftart endern?(z.B. Times new Roman)
Bedanke mich für jede Antwort.
Der Code:// Headerdatei #include <windows.h> //Callback Funktion zur Nachrichtenbehandlung LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); // Das Fensterhandle HWND hWnd = 0; // Windows main-Funktion int WINAPI WinMain(HINSTANCE hInstance, // Handle der Programminstanz HINSTANCE hPrevInstance, // Handle der letzten Instanz LPSTR lpCmdLine, // Kommandozeile int nCmdShow) // Art wie das Fenster angezeigt werden soll { WNDCLASSEX wndClass; // WNDCLASSEX Struktur // Struktur initialisieren wndClass.cbSize = sizeof(WNDCLASSEX); // Größe angeben (nie vergessen!) wndClass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW; // Standard Stile wndClass.lpfnWndProc = MessageHandler; // Die Callback Funktion angeben wndClass.cbClsExtra = 0; // Zusätzliche Angaben, wird nicht benötigt wndClass.cbWndExtra = 0; // Zusätzliche Angaben, wird nicht benötigt wndClass.hInstance = hInstance; // Anwendungsinstanz wndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); // Weisser Pinsel wndClass.hCursor = LoadCursor(NULL, IDC_ARROW); // Normaler Cursor wndClass.lpszMenuName = NULL; // Das Fenster hat kein Menü wndClass.lpszClassName = "WindowClass"; // Der Name der Klasse wndClass.hIcon = LoadIcon(NULL, IDI_WINLOGO); // Windows Logo wndClass.hIconSm = LoadIcon(NULL, IDI_WINLOGO); // Windows Logo RegisterClassEx(&wndClass); hWnd = CreateWindowEx(NULL, // Keine erweiterten Stile nutzen "WindowClass", // Klassenname "Das Fenster", // Fenstertitel WS_OVERLAPPEDWINDOW | // Fenster WS_VISIBLE, // Eigenschaften 0, 0, 800, 600, // Anfangsposition und Größe NULL, // Handle des Elternfensters NULL, // Handle des Menüs hInstance, // Anwendungsinstanz NULL); // wird nicht benötigt // Struktur, in der Informationen zur Nachricht gespeichert werden MSG msg; // Diese Schleife läuft bis die Nachricht WM_QUIT empfangen wird while(GetMessage(&msg,NULL,0,0)) { // Nachricht an die Callbackfunktion senden TranslateMessage(&msg); DispatchMessage(&msg); } // Rückgabewert an Windows return 0; } // Diese Funktion wird von Windows aufgrufen, wenn eine Nachricht // für Ihr Programm vorliegt LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { // testen, um welche Nachticht es sich handelt switch(msg) { // wenn das Fenster geschlossen wird, eine Nachricht senden, // die das Programm beendet case WM_DESTROY: PostQuitMessage(0); case WM_PAINT: PAINTSTRUCT ps; HDC hDC; hDC = BeginPaint(hWnd,&ps); SetTextColor(hDC,RGB(0,0,0)); // Der Anfang ------------------------------------------------------------------------------- TextOut(hDC,0,0,"Danke für Hilfe",15); EndPaint(hWnd,&ps); return 0; break; } // Wenn wir uns nicht um die Nachricht gekümmert haben // wird sie an die Standardnachrichtenverarbeitung von Windows // geschickt return (DefWindowProc(hwnd, msg, wParam, lParam)); }
edit: Codetags.
[ Dieser Beitrag wurde am 05.02.2003 um 13:54 Uhr von cd9000 editiert. ]
-
Die Hintergrundfarbe kann man über:
wndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH) ändern.
Wenn man (BLACK_BRUSH) z.B. durch (GRAY_BRUSH)ersetzt wird der Hintergrund grau.
Den Rand kann man wahrscheinlich durch verschiedene WindowStyles ersetzen, z.B. statt WS_OVERLAPPED WS_POPUP. Eine Liste der verschiedenen Styles gibts im MSDN.[ Dieser Beitrag wurde am 04.02.2003 um 19:49 Uhr von J.G.Systems editiert. ]
-
Ach ich meinte doch nicht den Rand vom Fenster ich meinte den Rand um die schrift, der Hintergrund soll aber schwarz bleiben, wie endert man die Farbe um die schrieft, das ist ja weis, wie macht man das schwarz???
-
Du könntest es mal mit SetBkMode(hDC, TRANSPARENT); probieren...
cya
-
Ja, das funktioniert, Danke für die Hilfe, weis jemand noch wie man die schrieftart noch endert?
-
Oder geht das garnicht?
-
Such mal nach CreateFont, z.B. hier