Народ! Я чета туплю... Не могу отобразить диалог, который находится в ДЛЛ (его темплейт). Как не бьюсь -- хрен. вот так пробовал: приходят в ДлгПрок следующие мессаги: WM_SETFONT, WM_DESTROY, WM_NCDESTROY и все Код (Text): int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { HMODULE hmod = GetModuleHandle(_T("DllStatic.dll")); HRSRC hResDlg = FindResource(GetModuleHandle(_T("DllStatic.dll")), MAKEINTRESOURCE(IDD_DIALOG_LAB), RT_DIALOG); if (NULL == hResDlg) { MessageBox(NULL, _T("Could not locate dialog box."), _T("Error"), MB_OK); return 0; } HGLOBAL hResLoad = LoadResource(hmod, hResDlg); if (NULL == hResLoad) { MessageBox(NULL, _T("Could not load dialog box."), _T("Error"), MB_OK); return 0; } LPVOID lpResLock = LockResource(hResLoad); if (NULL == lpResLock) { MessageBox(NULL, _T("Could not lock dialog box."), _T("Error"), MB_OK); return 0; } CreateDialogIndirectParam(hInstance, (LPCDLGTEMPLATEW)lpResLock, NULL, DlgProc, 0); return 0; } так тоже самое: Код (Text): int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { DialogBoxParam(GetModuleHandle(_T("DllStatic.dll")), MAKEINTRESOURCE(IDD_DIALOG_LAB), NULL, DlgProc, 0); return 0; } А так выдает ошибку 1814 (The specified resource name cannot be found in the image file.): Код (Text): int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG_LAB), NULL, DlgProc, 0); err = GetLastError(); return 0; } Сама DlgProc: Код (Text): BOOL CALLBACK DlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; switch (message) { case WM_INITDIALOG: { return TRUE; } case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); switch (wmId) { case IDOK: EndDialog(hWnd, IDOK); break; case IDCANCEL: EndDialog(hWnd, IDCANCEL); break; } } return FALSE; } Как этот диалог отобразить, причем надо чтобы темплейт на него лежал именно в длл а все операции были в ЕХЕ?
какой лмт контрол??? типа как у explorer`a??? если да, то подгрузи шелл32.длл до вызова диалогового окна
СУПЕР! Заработало! Блин... Всегда создавал прожекты в визарде в любой студии и все работало, а тут надо ручками подгружать...