论坛风格切换切换到宽版
  • 3842阅读
  • 0回复

自定义页面与内置页面结合遇到的几个问题,鼠标拖动,圆角等。 [复制链接]

上一主题 下一主题
离线mefcl
 

发帖
48
金钱
190
威望
19
只看楼主 倒序阅读 0 发表于: 2013-07-05
看了烂菜同学的教程,自己也动手学习下,奈何技术有限,弄了好几天至今任然有几个问题没解决,求助下论坛各位,完成后贴上来新手参考.先谢谢了。
先上张图片:


如上图,有几个问题。
一:圆角:
我用了
  1. System::Alloc 16
  2.         System::Call user32::GetWindowRect(i$HWNDPARENT,isR0)
  3.         System::Call *$R0(i.R1,i.R2,i.R3,i.R4)
  4.         IntOp $R3 $R3 - $R1
  5.         IntOp $R4 $R4 - $R2
  6.         System::Call gdi32::CreateRoundRectRgn(i0,i0,iR3,iR3,i4,i4)i.r0
  7.         System::Call user32::SetWindowRgn(i$HWNDPARENT,ir0,i1)
  8.         System::Free $R0

System::Call gdi32::CreateRoundRectRgn(i0,i0,iR3,iR3,i4,i4)i.r0,我修改过,不然的话窗体会断半截..但现在底部的角并没有圆角效果,如上面的两个角一样有圆角效果,那圆角表现的效果还是很完美的。至于弹出的
二:复选框无法透明:
怪事..其他控件都可以透明的,只有复选框无法透明,这个也真实伤脑筋。

  1. ;路径选择
  2.     ${NSD_CreateLabel} 36 90 130u 12u "选择安装目录:"
  3.     Pop $3
  4.     SetCtlColors $3 ""  transparent ;背景设成透明
  5.     CreateFont $1 "宋体" "11" "800"
  6.     SendMessage $3 ${WM_SETFONT} $1 0
  7.     ${NSD_CreateLabel} 36 153 130u 9u "所需磁盘空间:20 MB"
  8.     Pop $0
  9.     SetCtlColors $0 "808080"  transparent ;背景设成透明
  10.     ;复选框项目
  11.            ${NSD_CreateCheckbox} 36 220 180 18 "可选组件一"
  12.           Pop $Ck_box1
  13.           SetCtlColors $Ck_box1 ""  transparent ;背景设成透明
  14.            ${NSD_CreateCheckbox} 36 248 180 18 "可选组件二"
  15.           Pop $Ck_box2
  16.            ${NSD_CreateCheckbox} 36 276 180 18 "可选组件三"
  17.           Pop $Ck_box3


三:屏蔽ESC键.

如果直接按住ESC,窗口就退出了,不会调用自己做的那个退出提示框。





安装过程页面我用了内置的,贴上图了,但.无法移动...
用这个
;        GetFunctionAddress $0 onGUICallback
;        WndProc::onCallback $HWNDPARENT $0

无效求解.....
脚本文件:
百度云.rar (485 K) 下载次数:17
博客:http://mefcl.com/