Показать сообщение отдельно

  #194  
Старый 05.02.2008, 18:43
TruPAC
Познающий
Регистрация: 20.12.2007
Сообщений: 36
Провел на форуме:
71113

Репутация: 20
По умолчанию

хочу написать прогу которая выводит текущий ип в плане освоения диалоговых окон.
есть примерно такого вида наработка вызова модального диалогового окна. она находиться в конце, чтобы не мусорить вопрос. вообщем проблема в том что я не могу заставить его работать - оно просто не отображается. те происходит вызов функции и возвращаемое значение равно -1, что не есть гуд.

рассуждения, пожалуй, писать не буду, а то уже наученный горьким опытом знаю что там будет бред.

вообщем они самые наработки.
жаль что приатачить нельзя, но думаю в ресурсах ошибки быть не должно, так что их не выписываю.

ну и теперь: как это заставить работать?

Код:
   
   .386
   .model flat,stdcall
   option casemap:none

   DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD

   include \masm32\include\windows.inc
   include \masm32\include\user32.inc
   include \masm32\include\kernel32.inc
   includelib \masm32\lib\user32.lib
   includelib \masm32\lib\kernel32.lib

   .data
   DlgName db "MyDialog",0
      AppName db "First",0
      

   .data?
   hInstance HINSTANCE ?
   
   .const
   MyDialog        equ 101
   IDC_IPADDRESS1  equ 1000
   IDM_EXIT        equ 32003


   .code

   start:

       invoke GetModuleHandle, NULL
       mov    hInstance,eax
       invoke DialogBoxParam, hInstance, ADDR DlgName,NULL, addr DlgProc, NULL
       invoke ExitProcess,eax

   DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
       .IF uMsg==WM_INITDIALOG
           invoke GetDlgItem, hWnd,IDC_IPADDRESS1
           invoke SetFocus,eax
       .ELSEIF uMsg==WM_CLOSE
           invoke SendMessage,hWnd,WM_COMMAND,IDM_EXIT,0
       .ENDIF
       mov eax,TRUE

       ret

   DlgProc endp

   end start
 
Ответить с цитированием