Fenster mit Button und Textbox
-
Hallo,
Ich brauche eine änderung für den folgenden code. Er erstellt ein fenster und wenn man darauf klick erscheint text. Das möchte ich aber nicht, soll also komplett raus aus dem code. Dafür soll nur ein einfacher Button mit text und ein einfaches leeres Textfeld in dem fenster angezeigt werden.
Is eine schulaufgabe./ API.cpp : Ein Windows-Programm.
//#include <windows.h>
// Vorwärtsdeklaration
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);// Eintrittsfunktion, die Argumente werden von Windows an
// die Funktion übergeben
int APIENTRY WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
// ZU ERLEDIGEN: Fügen Sie hier den Code ein.HWND hWindow; // Fenster-Handle
MSG Message; // Strukturvariable für Nachrichten
WNDCLASS WinClass; // Fensterklasse// erste Instanz
memset(&WinClass,0,sizeof(WNDCLASS));
WinClass.style = CS_HREDRAW | CS_VREDRAW;
WinClass.lpfnWndProc = WndProc;
WinClass.hInstance = hInstance;
WinClass.hbrBackground = (HBRUSH) (COLOR_WINDOW);
WinClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WinClass.lpszClassName = "Windows-Programm";// Fensterklasse anmelden
if(!RegisterClass(&WinClass))
return(FALSE);// erstelle Hauptfenster der Anwendung
hWindow = CreateWindow("Windows-Programm",
"API-Programm",
WS_OVERLAPPEDWINDOW, 10, 10,
400,300,NULL,NULL,hInstance,NULL);
ShowWindow(hWindow, nCmdShow);
UpdateWindow(hWindow);// Message loop
while (GetMessage (&Message, NULL, 0, 0) )
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}return (Message.wParam);
}// Fensterfunktion WinProcedure
LRESULT CALLBACK WndProc(HWND hWnd, UINT uiMessage,
WPARAM wParam, LPARAM lParam)
{
char str[30] = "Hier erfolgte Mausklick";
HDC dc;// beantworte Nachrichten mit entsprechenden Aktionen
switch(uiMessage)
{case WM_LBUTTONDOWN:
dc = GetDC(hWnd);TextOut(dc, LOWORD (lParam), HIWORD (lParam) ,str,strlen(str));
// Gerätekontext freigeben
ReleaseDC(hWnd, dc);
return 0;case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd,uiMessage,
wParam,lParam);
}
}
-
san25 schrieb:
Er erstellt ein fenster und wenn man darauf klick erscheint text. Das möchte ich aber nicht, soll also komplett raus aus dem code.
Dann nimm es doch einfach raus - also das WM_LBUTTONDOWN. Und das brauchst du dann auch nicht mehr:
char str[30] = "Hier erfolgte Mausklick"; HDC dc;san25 schrieb:
Dafür soll nur ein einfacher Button mit text und ein einfaches leeres Textfeld in dem fenster angezeigt werden.
Diese musst du dann WM_CREATE abfangen und dort mit CreateWindow die Controls erstellen (button und edit)