Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Диалог стандартный GetSaveFileName


Автор: Lonley 19.8.2004, 16:03
ПРИВЕТ... smile.gif
Вот...

Код

OPENFILENAME STRUCT
   lStructSize dd ?        ;1
   hwndOwner   dd ?        ;2
   hInstance   dd ?        ;3
   lpstrFilter dd ?        ;4
   lpstrCustomFilter dd ?  ;5
   nMaxCustFilter    dd ?  ;6
   nFilterIndex      dd ?  ;7
   lpstrFile         dd ?  ;8
   nMaxFile          dd ?  ;9
   lpstrFileTitle    dd ?  ;10
   nMaxFileTitle     dd ?  ;11
   lpstrInitialDir   dd ?  ;12
   lpstrTitle        dd ?  ;13
   flags             dd ?  ;14
   nFileOffset       dw ?  ;15
   nFileExtension    dw ?  ;16
   lpstrDefExt       dd ?  ;17
   lCustData         dd ?  ;18
   lpfnHook          dd ?  ;19
   lpTemplateName    dd ?  ;20
OPENFILENAME ends
..........
_DATA SEGMENT DWORD PUBLIC USE32 'DATA'
......                                              
lpofn     OPENFILENAME <04ch,?,?,?,?,?,?,FILSTRUCT,256,FILEN ,256,? ,TITLESAVE,?  ,? ,1 ,? ,? ,? ,?>
......
_DATA ENDS
.............
.CODE
    CMP WORD ptr [ebp+10h],1;SAVE меню
    JE SaveFil
......
SaveFil:
     push offset lpofn
     call GetSaveFileNameA
.......

===========
Вопрос заключается вот в чем....
--------------------------------------------------
Цитата

1. как только Я поставлю в стрктуре
lpofn
дескриптор ОКНА или ПРИЛОЖЕНИЯ в мануале сказано декриптор окна
то окна диалога GetSystemFileName не появляется.... почему

--------------------
Цитата

2. когда окно открыто.... то если закрыть первоначальное окно не закрывая
диалоговое то процесс в памяти все равно остается... в мануале не сказанно
как закрыть такие диалог окна только EndDialog но он для других диа окон

--------------------
Цитата

скорей всего нужно назначить  hwndOwner  dd ? тогда диалог будет закрываться
вместе с вызвашей его программой, но это у меня и не получается
ИМХО
а так все работает имя и путь файла в буфер переается и т.д. вот только кроме этой
залипухи smile.gif с закрытием и дескриптором

Автор: Jin X 19.8.2004, 18:16
Казнить нельзя помиловать?

Автор: Lonley 19.8.2004, 18:19
Jin X
я так понял что непонятно, а что именно wink.gif

Автор: Lonley 21.8.2004, 19:53
Всеи спасибо кто уделили на меня время
--------------
Все разбрался Сам
-----
Код

     lea esi,NEWHWND
     mov ebx,[esi]
     mov lpofn_o.hwndOwner,ebx


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)