Microsoft  CSIP   WindowsMobile   MEDC   合作伙伴   体验中心 设为首页 加到收藏夹

 
登录       点击换一张     注册新用户 找回密码

在 PokectPC 上创建非全屏的窗体
2008年07月23日02:33   编辑:cppguy 来源: 博客 浏览: 276

 

  开发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);

  }

发表评论
评论标题 :
评论内容 :

    查看评论

请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。 本站拥有管理笔名和留言的一切权利。
相关文章推荐
· 值得期待的.Net Micro Framework 3.0 2008-7-16  叶帆
· .NET Framework 3.0:Windows Vista 平台上的设计 2008-7-15  James Vastbinder
· .NET Framework、.NET Compact Framework、.NET Micro Framework 2008-7-15  James Vastbinder
· Opening the .NET MF 3.0 kimono 2008-7-15  MS .Net Micro Framework team
· .Net Compact Framework 高级篇(1) 2008-7-9  叶帆

  

论坛推荐  
热点活动
更多»

© CSIP 信息产业部软件与集成电路促进中心 All Rights Reserved 版权所有 京ICP备06020771号
联系电话:010-63951881-8003 王先生        邮件:wangj@csip.org.cn