Jak otworzyć dialog z gotowego pliku zasobów .res? WinAPi C++

0

Witam. Utworzyłem plik zasobów .res za pomocą programu ResEdit. W pliku znajduje się dialog o ID = 1000. Nie mam tylko pojęcia, jak otworzyć taki dialog w moim programie. Mógłbym prosić o drobną wskazówkę?

0

Znowu zabrakło informacji o jaki język chodzi, a później będzie znowu jakaś gratulacyjna dla mnie gównoburza w dziale społeczności, że w WinAPI język nie ma znaczenia. Dlatego podam przykład pod kątem Delphi, ten język w miarę znam.

//...
{$R nazwapliku.res}
//...
const
  IDC_EMPTYDLG = 1000;
//...
function HiddenDlgProc(AHWnd : HWND; Msg : UINT; wParam : wParam; lParam : lParam) : LRESULT; stdcall;
begin
  Result := LRESULT(False);
  case Msg of
    WM_CLOSE :
      begin
        PostQuitMessage(0);
      end;
  end;
end;
//...
var
  Msg : TMsg;
  DlgH : HWND;
begin
  DlgH := CreateDialog(HInstance, MAKEINTRESOURCE(IDC_EMPTYDLG), 0, @HiddenDlgProc);
  ShowWindow(DlgH, SW_SHOW);
  while GetMessage(Msg, 0, 0, 0) do
  begin
    DispatchMessage(Msg);
  end;
end;
//...

Edit: dopisałem dyrektywę kompilatora $R, bo tutaj dołączenie zasobów jest bardzo ważne.

0
olesio napisał(a):

Dlatego podam przykład pod kątem Delphi, ten język w miarę znam.

Dawno nie pisałem w czystym C, ale jeśli byśmy chcieli to zrobić w czystym WinAPI oraz C, to by wyglądało analogicznie. Trzeba utworzyć dialog za pomocą funkcji CreateDialog podając adres procedury okna i tyle. Żadnej filozofii tu nie ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1