(VC++) Ressourcen
-
hi,
ich suche eine Möglichkeit um mehrere Steuerelemente aufeinmal anzuzeigen bzw. verschwinden zu lassen. Ich habe an sowas gedacht wie ein dialog ohne rahmen und systemmenü, + die ^^Steuerelemente.
aber wie mach ich das?
-
Habe ich jetzt nicht ganz verstanden.
-
also nochmal..
ich habe 30 buttons auf einem dialogfeld ohne systemmenü und rahmen erstellt (ressourcenscript datei).
wie kann ich dieses dialogfeld in mein main-programm einblenden bzw ausblenden?
also des soll sowas ähnliches sein wie die ?registerkarte?...
-
Erstelle doch einfach einen Dialog ohne Rahmen. Wichtig ist, daß der Dialog WS_CHILD und WS_EX_CONTROLPARENT gesetzt bekommen hat.
Im Ressource-Editor auf dem Tab 'Formate':
ComboBox 'Stil' -> untergeordnet
ComboBox 'Rand' -> KeineTab 'Erweiterte Formate':
CheckBox 'Übergeordnete Steuern' markierenDann erstellst Du den Dialog modeless, also mit CreateDialog.
-
wie kann ich dieses dialogfeld in mein main-programm einblenden bzw ausblenden?
// einblenden ShowWindow(hDlg, SW_SHOW); // ausblenden ShowWindow(hDlg, SW_HIDE);
-
ich bekomm das nicht hin..
hier mein patchwork:
#include <windows.h> #include "resource.h" BOOL CALLBACK DlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { case WM_COMMAND: switch(LOWORD(wParam)) { case ID_EXIT: PostMessage(hwnd, WM_CLOSE, 0, 0); break; } break; case WM_CLOSE: EndDialog(hwnd, 0); break; default: return FALSE; } return TRUE; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND dlgHwnd; HWND hwnd; DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, DlgProc); dlgHwnd = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_buttons),hwnd,(DLGPROC)DlgProc); ShowWindow(dlgHwnd, SW_SHOW); }
ich weis nichtmehr weiter
-
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, DlgProc); dlgHwnd = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_buttons),hwnd,(DLGPROC)DlgProc); ShowWindow(dlgHwnd, SW_SHOW); }
Das kann auch nicht gehen. DialogBox kehrt erst dann zurück, wenn der Dialog geschlossen wurde. Die richtige Stelle für CreateDialog() ist also in WM_INITDIALOG vom Parent. Und Dein Aufruf von CreateDialog() schlägt sowieso fehl, weil Du kein gültiges Parent-Window angibst. Oder wo hast Du 'hwnd' initialisiert?
-
boah.. egal was ich mach und wie ich es mach.. es funktionier net..
kann mir jemand bitte nachhilfe geben in dialoge erstellen?.greeder