国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

VB使用堆疊對話框的一個方法

2024-07-21 02:20:36
字體:
來源:轉載
供稿:網友
中國最大的web開發資源網站及技術社區,
第一次使用vb,想做一個堆疊對話框的程序。
就是想標簽控件那種,但是不想把每個頁上的控件都放在一個主控件里。想把每個頁都使用一個form或propertypage來組織。
經過大量的實驗和csdn上同仁的友情幫助,略有小成,不敢獨享,放在這里,拋磚引玉。希望大家還有更好的辦法。

step 1 聲明如下說明
public declare function setparent lib "user32" (byval hwndchild as long, byval hwndnewparent as long) as long
public declare function setwindowlong lib "user32" alias "setwindowlonga" (byval hwnd as long, byval nindex as long, byval dwnewlong as long) as long
public declare function getwindowlong lib "user32" alias "getwindowlonga" (byval hwnd as long, byval nindex as long) as long

step 2 在主窗體上放置frame控件(fracontainer), 以放置堆疊頁面的容器
step 3 建立函數initializepage
private sub initializepage(frmpage as form, hwndparent as long)
dim dwstyle as long

load frmpage

dwstyle = getwindowlong(frmpage.hwnd, -16)
dwstyle = dwstyle or &h40000000
setwindowlong frmpage.hwnd, -16, dwstyle

setparent frmpage.hwnd, hwndparent
end sub
step 4 建立需要切換的頁面form1 和 form2, 修改為無邊框,并將相應的起始屬性(startupposition)改為manual,left top 均為0
step 5 建立頁初始化函數
public sub initializepages()
set frm1 = new form1
set frm2 = new form2

initializepage frm1, frmmain.fracontainer.hwnd
initializepage frm2, frmmain.fracontainer.hwnd
end sub
step 6 建立全局變量frmactive 保存當前活動的頁面
step 7 建立切換頁面切換函數
public sub changepage(frmchange as form)
if frmchange is nothing then exit sub

if not frmactive is nothing then
if frmactive.hwnd <> frmchange.hwnd then
frmactive.hide
frmchange.show 0, me
set frmactive = frmchange
end if
else
frmchange.show 0, me
set frmactive = frmchange
end if
end sub

step 8 在主頁面的unload 中加入如下代碼
unload frm1
unload frm2

set frm1 = nothing
set frm2 = nothing

如此一個可以切換兩個頁面的代碼完成,不過還有一些問題,
1. 在每個頁面切入切出時沒有相應的處理函數。
2. 頁面沒有焦點。

對于切入切出的問題,本來想用如下方式,從form中派生一個propertyform類,然后加入onsetactive 和 onkillactive函數,然后所有頁面從此類生成,但是不知道怎么做,呵呵。vb的功能還是弱了點。c++我可以為所欲為,vb不會就沒有一點辦法。:)
希望vb高手可以指教


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌宁县| 七台河市| 河津市| 张家界市| 双城市| 平利县| 鱼台县| 益阳市| 会泽县| 缙云县| 永泰县| 石家庄市| 永靖县| 兴和县| 石嘴山市| 廊坊市| 留坝县| 萍乡市| 历史| 宜都市| 东平县| 巴塘县| 承德县| 广饶县| 五家渠市| 象州县| 宝鸡市| 土默特左旗| 凤山市| 繁峙县| 北宁市| 东乌| 齐河县| 黑龙江省| 基隆市| 新和县| 合阳县| 浪卡子县| 东辽县| 江山市| 木兰县|