有一个程序A,主窗口中带有一个TPageControl控件,在其上有二个页面,程序运行时,只有一个页面显示出来,另一个页面没有显示,
我另外写了一程序B,在程序B中找到A程序中TPageControl控件的句柄,然后B程序发送一个消息给这个句柄,使A程序中TPageControl控件将其所有页面都显示出来
但不知发送什么消息,我用SPY++查看,也只看到一个页面。如何实现发送消息将另一个程序中的PAGECONTROL隐含的页面显示出来呢?
还请各位大侠指点,谢谢!
我另外写了一程序B,在程序B中找到A程序中TPageControl控件的句柄,然后B程序发送一个消息给这个句柄,使A程序中TPageControl控件将其所有页面都显示出来
但不知发送什么消息,我用SPY++查看,也只看到一个页面。如何实现发送消息将另一个程序中的PAGECONTROL隐含的页面显示出来呢?
还请各位大侠指点,谢谢!
解决方案 »
- 求助!!初学者的一个关于数据库方面的问题(ADO+SQL类)。。
- 关于备份恢复的问题,怪事。请指教
- 【真的很奇怪!请大家帮忙看看】从一数据表复制数据到另一表,其他字段都正常,只有:“names”字段无法复制,要么就是干脆没有数据,要
- 我想用sql语句挑选出两个数值之间的记录,怎么做?
- 200%结贴!ADSL虚拟拨号用户怎样才能有个固定的IP地址来共享FTP或WEB?
- 如何保存两个label前置和后置的顺序?
- 告诉帮我解决文件关联问题!!
- 关于delphi实现报表的问题
- OpenGL中小地图制作问题
- 程序员调查:这里有没有做过兼职的?做什么?赚了多少?
- 为DBGridEh中的某一列设置默认值?谢谢
- 运行时提示parameter 'xxx' not found
完整源代码:procedure TPageControl.ChangeActivePage(Page: TTabSheet);
var
ParentForm: TCustomForm;
begin
if FActivePage <> Page then
begin
ParentForm := GetParentForm(Self);
if (ParentForm <> nil) and (FActivePage <> nil) and
FActivePage.ContainsControl(ParentForm.ActiveControl) then
begin
ParentForm.ActiveControl := FActivePage;
if ParentForm.ActiveControl <> FActivePage then
begin
TabIndex := FActivePage.TabIndex;
Exit;
end;
end;
if Page <> nil then
begin
Page.BringToFront;
Page.Visible := True;
if (ParentForm <> nil) and (FActivePage <> nil) and
(ParentForm.ActiveControl = FActivePage) then
if Page.CanFocus then
ParentForm.ActiveControl := Page else
ParentForm.ActiveControl := Self;
end;
if FActivePage <> nil then FActivePage.Visible := False;
FActivePage := Page;
if (ParentForm <> nil) and (FActivePage <> nil) and
(ParentForm.ActiveControl = FActivePage) then
FActivePage.SelectFirst;
end;
end;
我想根据句柄来将隐藏的页面显示出来,但不知如何才能实现。
还请大侠们指点,谢谢!
1、各自定一個消息;
2、在b程序發送這個消息,只需要知道pagecontrol所在窗的handle就好了;
2、在a程序處理這個消息,只需要控制tabsheet的tabvisible屬性就可以了,而且你可以通過lparam傳遞標識,來判斷要顯示哪一個或者全部