建议楼主:用Picturewindow来实现,可以参考下面的步骤:
1、在主画面里面建一个Picturewindow,"popbox1",点按钮1弹出“画面窗口B”;
参考脚本如下:
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetPropChar(lpszPictureName,"popbox1","CaptionText","窗口B");//注:popbox1是主画面的Picturewindow
SetTagPrefix(lpszPictureName,"popbox1","结构变量的前缀.");//对结构变量赋前缀
OpenPicturewindowoffset(lpszPictureName,lpszObjectName,"popbox1","B.pdl",0,0);//二次开发的项目函数,定义弹出窗口的位置,并判断弹出的位置
}
2、在画面窗口B里面建一个Picturewindow,"popbox2",点画面窗口B按钮2,在子画面窗口B上弹出“画面窗口C”;
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
char prefix[20];
strcpy(prefix,GetTagPrefix(GetParentPicture(lpszPictureName),GetParentPictureWindow(lpszPictureName)));
SetTagPrefix(GetParentPicture(lpszPictureName),"popbox1",prefix);
SetTagPrefix(GetParentPicture(lpszPictureName),"popbox2",NULL);
SetPropChar(GetParentPicture(lpszPictureName),"popbox2","CaptionText","窗口C");
OpenPicturewindowoffset(lpszPictureName,lpszObjectName,"popbox2","C.pdl",0,0);//二次开发的项目函数,定义弹出窗口的位置,并判断弹出的位置
}
/////////////////////二次开发的项目函数如下://////////////////////////
#include "apdefap.h"
void OpenPicturewindowoffset(char* lpszPictureName, char* lpszObjectName, char* PicturewindowName,char* PinPName, int Pinpwidth,int Pinpheight)
{
int left,top,objwidth,picwidth,picheight;
struct CC_POINT
{
int iLeft;
int iTop;
};
struct CC_POINT posObject;
picwidth=900;
picheight=700;
left=GetLeft(lpszPictureName,lpszObjectName);
top=GetTop(lpszPictureName,lpszObjectName);
objwidth=GetWidth(lpszPictureName,lpszObjectName);
if(left+objwidth+Pinpwidth posObject.iLeft = left +objwidth+10;
}
else posObject.iLeft = left -Pinpwidth-10;
if(top+Pinpheight+80>picheight){
posObject.iTop = picheight-Pinpheight-30;
}
else posObject.iTop = top ;
SetLeft(lpszPictureName,PicturewindowName,posObject.iLeft);
SetTop(lpszPictureName,PicturewindowName,posObject.iTop);
SetPictureName(lpszPictureName,PicturewindowName,PinPName);
SetVisible(lpszPictureName,PicturewindowName,TRUE); //Return-Type :BOOL
}
/////////////////////////////////////////////////////////////////////////////////////////////////
参考测试贴图如下: