当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 最近做的一个小东西要控制另外一个程序的文件保存对话框,目的是让它只能保存到我指定的位置,:P,我要控制保存的数据。
 

 

 ·如何调试触发器    »显示摘要«
    摘要://-------------------------------------调试触发器//-------------------------------------作者:四海为圈(原创)//-------------------------------------1、创建存储过程以便触发触发器3、选择单步运行存储过程2、在触发事件的语句如:insert 、update 、delete语句时按f1......
 ·理解 xwindow    »显示摘要«
    摘要:很多人在用 xwindow,但是他们是在用一些包装掩盖下的 xwindow,那些包装有些很不稳定,占用大量资源,以至于有人说 xwindow 是垃圾。其实 xwindow 是一个非常出色的图形系统,你应该抱怨的是那些不稳定的包装,而不是 xwindow 本身。 xwindow 是非常巧妙的设计,很多时候它在概念上比其它窗口系统先进,以至于经过很多年它仍然是工作站上的工业标准。许多其它窗口系统的......


修改已经打开的对话框的浏览路径

   最近做的一个小东西要控制另外一个程序的文件保存对话框,目的是让它只能保存到我指定的位置,:p,我要控制保存的数据.

   我们知道用cfiledialog很容易设置对话框的初始浏览路径,只要在cfiledialog类的openfilename结构里用自己的目录改变lpstrinitialdir就可以了: 【程序编程相关:long 这个类型的 Serializa

【推荐阅读:改行后的迷惑——非科班出身的朋友请思考

cfiledialog dlg; 【扩展信息:MSDN DataGrid嵌套DataL

dlg.m_ofn.lpstrinitialdir="c:\\windows";//这里设置对话框的浏览目录

dlg.domodal();

可我要控制的是一个已经显示的对话框,这个时候再用m_ofn.lpstrinitialdir来设置就没有效果啦!我通过findwindow找到了这个对话框的句柄,

cwnd * pwnd = findwindow(null,"另存为");

 if(pwnd)

{

   ....//这里该怎么改呢?

}

最开始想的方法就是用钩子截获对话框打开时的消息,在他显示之前改变他的墨认路径.呵呵,不想这么麻烦,等有时间再去试.后来从一个回帖里找到了一种比较方便的方法.

在实际操作中,如果我们在那个文件名编辑框中输入一个目录名,然后按确定按钮,那个对话框并没有被关闭,而是切换到那个新的目录.通过这个方法我们就可以改已经显示了对话框的浏览目录.具体步骤如下:

1.首先保存那个文件名编辑框的值

2.在那个编辑框中设置新的目录名

3.模拟鼠标单击“确定”按钮,这时候对话框切换到新的目录

4.恢复原来编辑框的值

这里还需要注意的一点就是第二步设置目录的时候要发送wm_settext消息,而不能直接用setwindowtext函数,因为它在跨进程使用的时候有问题,没有效果.

下面是部分关键代码:

cwnd * pwnd = findwindow(null,"另存为");

cstring sctrlname;

cwnd *pedit;

cstring filename;


...   下一页
 ·use cache, save cash    »显示摘要«
    摘要:source:http://msdn.microsoft.com/library/default.aspbegin: rob howardtelligent systems, inc. october 24, 2004 summay: learn how to use database cache invalidation in asp.net 1.1 with a similar tech......
» 本期热门文章:

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