当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 目前,很多基于对话框的应用程序中对话框都是不带框架的,也就是说对话框没有标题栏。
 

 

    摘要:2月13日消息,symbian公司日前证实,将改变现有的手机操作系统价格政策,鼓励更多手机制造商使用其操作系统软件。 据国外媒体报道,过去四年中,symbian的收入增加了100%,目前公司打算降低操作系统价格,帮助规模较小的手机生产厂商降低成本。 根据目前的价格政策,手机厂商在前250万部手机产品中每部给symbian公司交7.25美元,超过这个数目之后每部交5美元。但对于小厂商来说,每......
 ·flash lite 与 j2me 分析比较    »显示摘要«
    摘要:随着macromedia在flash lite方面的大力推广,这支mobile新军看来终于要展露头角了。不可避免的,众多的开发者会将它与现有的技术放在一起品评比较一番,而这次被推上擂台的,是已经在移动开发领域有着坚实基础的j2me。技术的比较有的时候很盲目,大家唇枪舌剑、旁证博引了半天,却发现两种技术根本就没有可比性。而那些狂热的拥护者则往往要追求一个“a最终会代替b”的极端。那么,j2me和fl......


在VC++中实现无标题栏对话框的拖动(1)
上一页   ...windows首先确定鼠标点中了哪个窗口,然后向那个窗口发送一个wm_nchittest消息找出此窗口的哪个"非客户区"(如边界.最大化/最小化按钮.菜单.标题等等)拥有鼠标光标.接着默认的窗口过程响应消息并返回一个特定的代码.如果鼠标指针落在标题栏中,那么这个特定代码就是htcaption,此时windows便进入拖拽模式,以便用户能够对窗口进行移动操作.所以要想在客户区里用鼠标拖动对话框,那么只要在客户区里模仿标题栏里的鼠标拖动行为即可.下面的代码通过处理wm_nchittest消息实现了对话框的拖动操作:

{ 【程序编程相关:在C++中的ODBC API数据库编程

uint cmydialog::onnchittest(cpoint pt) 【推荐阅读:C/C++头文件一览

 getclientrect(&rc); 【扩展信息:C++代码优化方法(1)

 crect rc;

 clienttoscreen(&rc);

 return rc.ptinrect(pt) ? htcaption : cdialog::onnchittest(pt);

}

上面这个代码很容易理解,当鼠标落在客户区内,函数返回htcaption.对于一个简单的对话框来说,仅仅用这个代码就完全可以实现在对话框背景内的拖动操作.因为windows使用z-order坐标来确定鼠标下是哪个窗口,所以对话框中其它的所有对象照常工作.如果用户单击某个控制,只要这个控制不是静态位图图像或者文本,那么windows都将鼠标事件发送到该控制上,而不是对话框.由于静态位图图像或者文本对于对话框是透明的,所以鼠标在上面的拖动同样实现移动,而对于对话框中的编辑框.按钮.组合框等其它非静态控制则按通常的行为方式运行.

共4页: 1 [2] [3] [4] 下一页
 ·迈出第一步-grep(1)    »显示摘要«
    摘要:以ruby为代表的脚本语言常被用来进行文本处理。为了能对她有个感性认识,我们先给出第一道例题教您使用“grep”命令,其功能就是从文本中找出符合正则表达式的行。 grep命令用法如下: grep pattern file...省略文件名时则从标准输入搜索合适的行。 若用ruby(简单地)改写的话,就像下面这样: $pat = argv.shiftwhile getsprint ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE