在PokectPC上创建非全屏的窗体
来源:互联网 发布:宁静数据分析表格 编辑:程序博客网 时间:2024/06/17 05:52
开发PPC界面的时候,在托管代码下,我们自己不能创建一个非全屏的可拖动的窗体,就像MessageBox那样的。当然你可以将窗体的设置为没有边框,然后再创建的时候动态指定它的大小和位置,似乎可以得到,但是没有了上面的标题栏,这样的窗体拖动关闭都要使用代码来实现,这样的窗体就没有什么用处了。
显示窗体总是全屏的,这个不是由CF限制的,事实上是由PocketPC这个自身设备自己限制的。
那怎样创建这样一个非全屏的窗体呢?其实这是很有用的,最大的好处是我们在操作这样一个非全屏窗体的时候,还可以看到下层窗体的行为。
这里推荐一种比较简单的做法,如果你应用OpennetCF的SDF的话只需要下面代码就可以实现这个效果
public FormB()
{
InitializeComponent();
IntPtr hWnd = Win32Window.FindWindow(null, this.Text);
int style = Win32Window.GetWindowLong(hWnd, Win32Window.GetWindowLongParam.GWL_STYLE);
style |= (int)(
Win32Window.WindowStyle.WS_BORDER
| Win32Window.WindowStyle.WS_CAPTION
& ~Win32Window.WindowStyle.WS_MINIMIZEBOX
);
Win32Window.SetWindowLong(hWnd, (int)Win32Window.GetWindowLongParam.GWL_STYLE, style);
Win32Window.SetWindowPos(hWnd, Win32Window.SetWindowPosZOrder.HWND_TOP, 25, 25, this.Width, this.Height, Win32Window.SetWindowPosFlags.SWP_SHOWWINDOW);
}
如果您用的是opennetcf sdf 2.1的话,请用以下代码
IntPtr hWnd = Win32Window.FindWindow(null, this.Text);
int style = Win32Window.GetWindowLong(hWnd, GWL.STYLE);
style |= (int)(WS.BORDER & WS.CAPTION & WS.MINIMIZEBOX & WS.GROUP);
Win32Window.SetWindowLong(hWnd, GWL.STYLE, style);
Win32Window.SetWindowPos(hWnd, HWND.TOP, 25, 60, this.Width - 100, this.Height - 100, SWP.SHOWWINDOW);
- 在PokectPC上创建非全屏的窗体
- 非MainForm窗体显示在任务栏上
- 在窗体上创建自己的光标并输入文字
- 创建非全屏Form
- windows mobile 1.如何真正的退出程序而不隐藏窗体。2.让窗体跟着输入法窗口上移。3.如何创建非全屏Form
- Vb.net在窗体上而非textbox控件上捕捉键盘上按下的键
- 创建一个如下的窗体,并在窗体上放置saveFileDialog、openFileDialog两个控件。
- 如何创建非矩形的Windows窗体?
- 创建非模式窗体
- GTK+ 在非GTK主线程 创建新的GTK窗体崩溃问题 解决方案
- 在Symbian中创建全屏的方法
- C#程序设计(二十七)----创建一个如下的窗体,并在窗体上放置一个标签、一个treeviw控件
- 设置窗体的起始位置,并检查配置文件是否存在,存在使用配置文件,不存在创建配置文件,在每次打开窗体时保持窗体上一次关闭的位置。
- C#创建非矩形窗体
- winform创建非矩形窗体
- 在主窗体中创建子窗体的方法
- javascript 在窗体和打开的非模式窗体上交互消息.javascript的动态编译原理真太伟大了
- WinForm子窗体嵌入在父窗体的panel上
- 软件工程师不可不知的10个概念
- 轻松看一看
- 评析VANCL与PPG的营销
- SQL数据库查询基础(一)
- TSQL中调用存储过程的例子
- 在PokectPC上创建非全屏的窗体
- 分页代码(存储过程)
- 庆祝奥运
- Oracle数据操作和控制语言详解(1)
- Oracle数据操作和控制语言详解(2)
- 如何学习Oracle
- Compiling FlightGear 1.0.0 with Visual C++.net 2005
- sudo 指令的用法
- VANCL取代PPG 陈年超越卓越?