| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2175 人关注过本帖
标题:模态对话框一开始就隐藏用什么函数?
只看楼主 加入收藏
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
结帖率:54.55%
收藏
已结贴  问题点数:20 回复次数:11 
模态对话框一开始就隐藏用什么函数?
难道要用定时器才行么?
我用showwindow写在初始化那里隐藏不了

搜索更多相关主题的帖子: 函数 模态 隐藏 对话框 
2009-09-22 11:41
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:10 
在WM_INITDIALOG中除了设置隐藏外,尝试修改下DLG的风格试试。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-09-23 08:22
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
都试了。无效啊。。是否一定要用非模态?
资源那里设成隐藏。无效。在initdialog这里直接showwindow也不行。
2009-09-23 10:24
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
initdialog里隐藏貌似不行啊~~~
2009-09-23 12:21
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
今天抽空做了一个,LZ可以参考一下:
.ASM文件
*************************************************
;隐藏模态对话框例子程序
 
;功能:当按下"隐藏"按钮时,该窗口将隐藏,
;然后放一个小图标到系统托盘中。当双击小图标时,应
;用程序将恢复自己,并把小图标从系统托盘中删除。
 
;编译器:MASMPlus
;作者:ONEPROBLEM  日期:2009年2月12日
;================================================
        .386
        .model flat,stdcall
        option casemap:none
 
include        windows.inc
include        user32.inc
includelib    user32.lib
include        kernel32.inc
includelib    kernel32.lib
include        shell32.inc
includelib    shell32.lib
 
ICO_MAIN    equ    1000
IDD_DIALOG    equ    1000
WM_SHELLNOTIFY    equ    WM_USER+100    ;自定义消息
 
        .data?
hInstance    dd    ?
stICONDATA    NOTIFYICONDATA    <?>
 
        .const
szText        db    '模态对话框例子程序',0
 
        .code
;================================================
_ProcDlgMain    proc    uses ebx edi esi hWnd,uMsg,wParam,lParam
         
        mov    eax,uMsg
        .if    eax == WM_CLOSE
            invoke    EndDialog,hWnd,NULL
            
        .elseif    eax == WM_INITDIALOG
            invoke    LoadIcon,hInstance,ICO_MAIN
            invoke    SendMessage,hWnd,WM_SETICON,ICON_BIG,eax
            
        .elseif    eax == WM_COMMAND
            mov    eax,wParam
            .if    ax == IDOK
                mov stICONDATA.cbSize,sizeof NOTIFYICONDATA  
                        push hWnd  
                        pop stICONDATA.hwnd  
                        mov stICONDATA.uID,ICO_MAIN  
                        mov stICONDATA.uFlags,NIF_ICON+NIF_MESSAGE+NIF_TIP  
                        mov stICONDATA.uCallbackMessage,WM_SHELLNOTIFY  
                        invoke LoadIcon,NULL,IDI_WINLOGO  
                        mov stICONDATA.hIcon,eax  
                        invoke lstrcpy,addr stICONDATA.szTip,addr szText  
                        invoke ShowWindow,hWnd,SW_HIDE  
                        invoke Shell_NotifyIcon,NIM_ADD,addr stICONDATA  
 
            .elseif ax == IDCANCEL
                invoke    EndDialog,hWnd,NULL
            .endif
        .elseif    eax == WM_SHELLNOTIFY
            mov    eax,lParam
            .if    eax == WM_LBUTTONDBLCLK
                invoke ShowWindow,hWnd,SW_RESTORE    ;恢复窗口界面
                invoke Shell_NotifyIcon,NIM_DELETE,addr stICONDATA;删除小图标
            .endif
        .else
            mov    eax,FALSE
            ret
        .endif
        mov    eax,TRUE
        ret
         
_ProcDlgMain    endp
;================================================
start:
        invoke    GetModuleHandle,NULL
        mov    hInstance,eax
        invoke    DialogBoxParam,hInstance,IDD_DIALOG,NULL,\
            offset _ProcDlgMain,NULL
        invoke    ExitProcess,NULL
         
        end    start
;================================================
2009-09-23 12:24
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
以下是引用zklhp在2009-9-23 12:24的发言:

今天抽空做了一个,LZ可以参考一下:
.ASM文件
*************************************************
;隐藏模态对话框例子程序
 
;功能:当按下"隐藏"按钮时,该窗口将隐藏,
;然后放一个小图标到系统托盘中。当双击 ...

ONEPROBLEM 老大写的~
2009-09-23 12:25
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
呃,我的是想一启动就隐藏哦?就好比别的窗口。风格那里设成是隐藏的那个风格。
2009-09-23 13:28
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
我已把他转成非模态了。直接在资源那里把visble去掉就隐藏了。
2009-09-23 15:06
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
罗云彬的书说。模态对话框建立后,windows为他内建消息循环,调用enddilog时才从对话框建的函数返回。
而且不管在资源文件里有没有用visble风格都会显示对话框


建立之后。要隐藏的话那是否说要在内建的消息里修改才能隐藏?
2009-09-23 15:20
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
程序代码:
.if eax==WM_INITDIALOG 
        invoke MoveWindow,hWin,0,0,0,0,TRUE 
        invoke ShowWindow,hWin,SW_HIDE     
         
        invoke GetWindowLong,hWin,GWL_STYLE 
        or eax, not WS_DLGFRAME             
        invoke SetWindowLong,hWin,GWL_STYLE,eax  
      

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-09-23 20:08
快速回复:模态对话框一开始就隐藏用什么函数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037269 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved