2008年11月
打开/关闭软键盘
void CHideDlgDlg::OnButton10()
{
// TODO: Add your control notification handler code here
CWnd * pWnd = GetDlgItem(IDC_TREE1);
if (pWnd){
pWnd->SetFocus();
HIMC hIMC = ImmGetContext(pWnd->m_hWnd);
DWORD dwConv, dwSent;
DWORD dwTemp; 阅读全文>
发表于 @ 2008年11月26日 16:54:00|评论(loading...)|收藏
HDC hdc;
HWND hWnd;
TCHAR sz[] = L"大家好";
// 查找记事本程序的窗口句柄
hWnd = ::FindWindow(L"Notepad", NULL);
// 如果记事本程序在运行,就向其客户区绘制文本
int nCount=0;
while(::IsWindow(hWnd)&&nCount
{
hdc = ::GetDC(hWnd);
::TextOut(hdc, 10, 10, sz, wcslen(sz));
::ReleaseDC(hWnd, NULL);
::Sleep(1000);
/*INPUT minput[2];
ZeroMemory( &minput, sizeof(INPUT)*2);
minput[0].type=INPUT_MOUSE;
mi阅读全文>
发表于 @ 2008年11月25日 13:30:00|评论(loading...)|收藏
作者: 刘涛 出处: 天极网 责任编辑: 方舟
对于编程爱好者来说,开发软件过程中文字显示处理是一项很重要的内容,它的显示效果的好坏,对程序的界面效果有很大的影响,如果文字显示时能够打破陈规,有所创新,使用一些别致的方式,可以给用户耳目一新的感觉,从而增加程序的亲和力。针对Visual Basic编程,笔者给出了文字"闪入"显示这一特殊显示效果的实现方法,希望能够对读者朋友们开阔思路有所帮助。
一、实现原理及相关函数介绍
所谓文字的"闪入",指的是将所要显示的文字分成两部分,每部分的字符分别从程序界面的两端进入,并最终显示出来。它实现的原理是:对于一个待显示的字符串,各个字符间人为的确定一个最初的间隔距离,在显示过程中,对称显示并逐渐缩小这个距离直至达到系统默认的字符间距,从而实现字符串从界面二侧"闪入"的效果。具体在编程实现中,一是需要使用SetTextCharacterExtra函数在待显示的字符串的每个字符中加入间隔距离。二是在程序中加入定时器,每次定时器触发后,用DrawTextEx显示一个字符。三是阅读全文>
发表于 @ 2008年11月25日 10:39:00|评论(loading...)|收藏
键盘对于每个操作电脑的人员来说是最熟悉不过的了。键盘上的按键可分为两类: 按下后会在电脑的输入窗口上出现对应字符的按键,如字母键和数字键等,我们称之为字符键;按下后虽然看不到字符但会产生控制作用的按键,如回车键、光标键等,我们称之为控制键。
对于程序员来说,键盘上的每个按键都一样,无非是不同按键产生的键盘扫描码不同。在不同的操作系统下,键盘扫描码常常被转换为不同的编码以方便应用程序调用,比如在DOS系统下的ASCII码,在Windows系统下的虚拟键盘码等等。
有时我们希望能以程序的方式模拟键盘按键,以达到自动输入文字或者控制操作的目的。在DOS系统下通常使用中断调用,产生键盘的扫描码的方法来实现。在Windows 系统下,由于Windows本身的一些限制和特点,一般不直接使用中断调用。
了解一点Windows编程的朋友应该知道, Windows系统是通过消息的传递(或称事件的发生)来控制各个应用程序的执行和数据通信的。例如:应用程序打开和关闭会产生相应的窗口消息,鼠标的移动、点击动作会产生相应的鼠标消息,同样键盘的按下、弹起也阅读全文>
发表于 @ 2008年11月24日 16:52:00|评论(loading...)|收藏
WPARAM与LPARAM的区别。具体是这么说:“在Win 3.x中,WPARAM是16位的,而LPARAM是32位的,两者有明显的区别。因为地址通常是32位的,所以LPARAM 被用来传递地址,这个习惯在Win32 API中仍然能够看到。在Win32 API中,WPARAM和LPARAM都是32位,所以没有什么本质的区 别。Windows的消息必须参考帮助文件才能知道具体的含义。如果是你定义的消息,愿意怎么使这两个参数都行。但是习惯上,我们愿意使用LPARAM传 递地址,而WPARAM传递其他参数。”
看一个例子就明白了:
程序代码*在对话框中取出数据,并向其他窗口发送消息和数据,将数据指针作为一个参数发送*/
void CTestDlg2::OnCommBtn()
{
char szOut[30];
GetDlgItemText(IDC_OUT,szOut,30);
m_pParent->SendMessage(WM_DLG_NOTIFY,(WPARAM)szOut);阅读全文>
发表于 @ 2008年11月19日 11:12:00|评论(loading...)|收藏
梁念坚,摩托罗拉亚太区总裁,11月15日正式离职摩托罗拉,但在11月13日(今天)就宣布加盟微软。
梁念坚三个字,已经非常久违了。当听说微软中国新CEO是摩托罗拉亚太区高管时,第一反应就是梁念坚,但是,他在摩托罗拉的官方网站上还好好地呆着,最近也没有任何关于其要离职的消息,所以,当消息被确定时,很多人不理解这么大的事情居然没有任何先兆。是摩托罗拉被遗忘了,还是微软如今真的低调了?
到底是什么让梁念坚从摩托罗拉跳槽到微软?连接这两个横跨通信和IT的大企业的纽带到底是什么呢?难道仅仅是职业经理人的管理才能?
虽然鄙人认为,摩托罗拉这样的企业不能算纯粹的通信企业,微软也不能算纯粹的IT企业,但是,二者相通的地方确实不多,除了他们先后推出的有着共同目标的理念——一整套的方案解决人们的所有问题。
摩托罗拉的“无缝移动”和微软的“统一沟通”
说起梁念坚,很多年前,他跟詹德一起与中国媒体见过面,当时谈的是摩托罗拉非常超前的“无缝连接”概念,但是,过了几年,摩托罗拉的“无缝连接”随着詹德的下课、公司组织架构的调整而淡化。
后来,也阅读全文>
发表于 @ 2008年11月14日 16:45:00|评论(loading...)|收藏
跨数据库Copy的一个类的代码 希望对大家能有所帮助
#include "StdAfx.h"
#include ".\dbcopyclass.h"
CDbCopyClass::CDbCopyClass(void)
{
::CoInitialize(NULL);
pconn.CreateInstance(__uuidof(Connection));
pSourceConn.CreateInstance(__uuidof(Connection));
prs.CreateInstance(__uuidof(Recordset));
m_pCmd.CreateInstance(__uuidof(Command));
m_SourceRs.CreateInstance(__uuidof(Recordset));
m_DesRs.CreateInstance(__uuidof(Recordset));
/// m_fields.CreateInstanc阅读全文>
发表于 @ 2008年11月04日 09:52:00|评论(loading...)|收藏