Dit is de source
1. Het probleem is dat elke dat je de IDC_CCBUTTON klikt er een nieuw Dialog word geopend, ik wil gewoon dat hij amximaal 1 keer geopent kan worden.
2. Als het window geopend is en je kan er wat dinge invullen en veranderen, dinge aantikken of wegklikken, en je wil em daarna weer openen, moeten deze dingen bewaard blijven, bijv. als je 10 invult in een Edit Box zou ik graag willen dat e daar bleef, dus ShowWindow(hWnd, SW_HIDE); dacht ik aan, maar ik weet niet hoe ik dat met IDC_BUTTON goed kan krijgen
alvast bedankt
naz
Code:
#include <windows.h>
#include <windows.h>
#include "Resource.h"
#include <WinBase.h>
#include "mspackets.h"
#include <commctrl.h>
#include "Hacks.h"
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
HMODULE GlobalhMod = NULL;
HWND hWnd;
BOOL CALLBACK DlgProc2 (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK DlgProc3 (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
//Main Callback procedure
BOOL CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch(uMsg)
{
case WM_INITDIALOG:
break;
case WM_HOTKEY:
break;
case WM_COMMAND:
if(wParam == IDC_CCBUTTON) // new window
{
CreateDialog(GlobalhMod, MAKEINTRESOURCE(IDD_DIALOG2), hWnd, (DLGPROC)DlgProc2);
}
if(wParam == IDC_CSBUTTON) // new window
{
CreateDialog(GlobalhMod, MAKEINTRESOURCE(IDD_DIALOG3), hWnd, (DLGPROC)DlgProc3);
}
break;
case WM_CLOSE:
FinishedExit = TRUE;
EndDialog(hWnd, 0);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
break;
}
return 0;
}
//Show Dialogue
DWORD WINAPI MainWin(HMODULE hModule){
Sleep(500);
GlobalhMod = hModule;
DialogBox(hModule, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DlgProc);
ExitThread(0);
return 0;
}
//Entry Point into program.
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hModule);
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MainWin, hModule, 0, NULL);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
FinishedExit = TRUE;
break;
}
return TRUE;
}
BOOL CALLBACK DlgProc2 (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch(uMsg)
{
case WM_INITDIALOG:
break;
case WM_HOTKEY:
break;
case WM_COMMAND:
break;
case WM_CLOSE:
ShowWindow(hWnd, SW_HIDE);
break;
case WM_DESTROY:
ShowWindow(hWnd, SW_HIDE);
break;
default:
break;
}
return 0;
}
BOOL CALLBACK DlgProc3 (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch(uMsg)
{
case WM_INITDIALOG:
break;
case WM_HOTKEY:
break;
case WM_COMMAND:
break;
case WM_CLOSE:
//EndDialog(hWnd, 0);
ShowWindow(hWnd, SW_HIDE);
break;
case WM_DESTROY:
//EndDialog(hWnd, 0);
ShowWindow(hWnd, SW_HIDE);
break;
default:
break;
}
return 0;
}
1. Het probleem is dat elke dat je de IDC_CCBUTTON klikt er een nieuw Dialog word geopend, ik wil gewoon dat hij amximaal 1 keer geopent kan worden.
2. Als het window geopend is en je kan er wat dinge invullen en veranderen, dinge aantikken of wegklikken, en je wil em daarna weer openen, moeten deze dingen bewaard blijven, bijv. als je 10 invult in een Edit Box zou ik graag willen dat e daar bleef, dus ShowWindow(hWnd, SW_HIDE); dacht ik aan, maar ik weet niet hoe ik dat met IDC_BUTTON goed kan krijgen

alvast bedankt
naz