Einzelnen Beitrag anzeigen

Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#4

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 05:23
Zitat von The-X:
nur leider funktioniert das vorne und hinten nicht
Nachdem CreateDialog mußt du noch ein ShowWindow aufrufen, sonst wird das Fenster nicht angezeigt.

Delphi-Quellcode:
program Project2;

uses
  Windows, Messages;

function DialogFunc(hWnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL; stdcall;
begin

  Result := True;

  case uMsg of
    WM_CLOSE:
      begin
        EndDialog(hWnd, wParam);
        DestroyWindow(hWnd);
      end;
    WM_DESTROY:
        PostQuitMessage(0);
  else
    Result := False;
  end;

end;

var
  Msg: TMsg;
  DlgWnd: HWND;
  LibMod: HMODULE;

begin

  LibMod := LoadLibrary('MSGINA.DLL');
  if LibMod <> 0 then
  begin
    DlgWnd := CreateDialog(LibMod, MakeIntResource(2210), 0, @DialogFunc);
    if IsWindow(DlgWnd) then
    begin
      ShowWindow(DlgWnd, SW_SHOWNORMAL);
      UpdateWindow(DlgWnd);
      while GetMessage(Msg, 0, 0, 0) do
        if not IsDialogMessage(DlgWnd, Msg) then
        begin
          TranslateMessage(Msg);
          DispatchMessage(Msg);
        end;
    end;
    FreeLibrary(LibMod);
  end;

end.
Netter Spruch der da steht.


Edit: Hab das jetzt nur unter Windowx XP SP2 getestet.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat