API

关于窗口样式的API以及处理文本的API参考

不管我们使用什么计算机语言开发,VC,VB,BCB,JAVA,NET你都脱离不开操作系统,它就是我们软件的生存土壤,JAVA的跨平台其实是因为它的虚拟机,实质上虚拟机还是要依靠操作系统,.net可以说博大精深但是它最终还是调用操作系统提供的服务,在Windows2003上运行.net程序和在windows95上运行效果肯定不同,因此只要一种语言提供给我们一种直接调用操作系统服务的接口(API)我们就不能武断的说它某些事做不了。只不过是方便与否,难以程度有差别,说这些话有些位VB申冤的嫌疑,可以说我确实有这点私心,但是如果你选择了VB你就要相信它,想办法了解到,这样才能充分发挥它的功能。   通常一种语言用久了就不知不觉中用它来思考,这有好处也有坏处,真正了解一门语言就要学会在使用中用它来思考,但是因此也会带来思维定式。很多时候局限的不是语言本身而是我们的思想。因此我们需要不停的思考,从不同角度思考,正如我的bLog的标题“我思故我在”,这句话有些唯心,但实际上在没有上学之前,在没有接收唯物主义的哲学思想之前我应该算是唯心主义者。当时我总是想我眼里的...

SetWindowText改变指定窗口的标题栏的文本内容

函数功能:该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控件,则改变控件的文本内容。然而,SetWindowText函数不改变其他应用程序中的控件的文本内容。     函数原型:BOOL SetWindowText(HWND hwnd,LPCTSTR lpString);     参数:     hWnd:要改变文本内容的窗口或控件的句柄。     lpString:指向一个空结束的字符串的指针,该字符串将作为窗口或控件的新文本。     返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。     备注:如果目标窗口属于当前进程,SetWindowText函数会使WM_SETTEXT消息发送给指定的窗口或控件。然而,如果控件是以WS_CAPTION风格创建的列表框控件,SetWindowText函数将为控件设置文本,而不是为列表项设置文本。     SetWindowText函数不扩展tab...

API函数的SendMessage如何操作滚动条

卷屏到光标处 SendMessage(RichEdit1.Handle,EM_SCROLLCARET,0,0); 向下卷屏一行 SendMessage(RichEdit1.Handle,EM_SCROLL,SB_LINEDOWN,0) 向下卷屏到底 SendMessage(RichEdit1.Handle,WM_VSCROLL,SB_BOTTOM,0)

子类化

子类化 如果你曾经在 Windows 环境下编过程序,有时候就会发现:有一个现成的窗口,几乎有你所需要的全部功能,但还不完全一样。如果你需要一个具有过滤特殊字符功能的 Edit 控件。当然最直接的方法就是自己用代码来实现,但这的确是一个费时又很困难的任务,而子类化就可以用来做这种事情。 子类化允许你接管被子类化的窗口,使你对它有绝对的控制权。举个例子了来阐明一下:例如你需要一个只接受十六进制数字输入的文本编辑框,如果使用一个简单的 Edit控件,当用户输入十六进制以外的字符时,你既不知道也无计可施。也就是说,当用户进文本框中输入字符串 "zb+q*" 时,如果除了拒绝接受整个字符串以外几乎什么也不能做,至少这显得特别不专业。重要的是,你需要具有输入检测的能力,即每当用户输入一个字符到编辑框中时要能检测这个字符。 现在来解释实现细节:当用户往文本框中输入字符时,Windows 会给Edit控件的窗口函数发送 WM_CHAR 消息。这个窗口函数本身寄生于 Windows 中,因此不能直接修改它。但是我们可以重定向这个消息使之发送到我们自己编写的窗口处理函数。如果自定义窗口要处...

windows消息

前言 在学习自绘之前,我们首先得了解什么叫消息、子类化。但这些不是本教程的主要,所以在这里我只说一下大概,需要更多这方面的知识请自行查看相关教程。 注意:在本教程里,系统API函数、常量名等,都直接使用英文,并没有进行所谓的汉化,这主要是为了方便大家查询API手册等。也方便大家参考其他编程语言的代码。 windows消息 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg。 消息定义 它在Windows单元中是这样声明的: type TMsg = packed record hwnd: HWND; / /窗口句柄 message: UINT; / /消息常量标识符 wParam: WPARAM ; // 32位消息的特定附加信息 lParam: LPARAM ; // 32位消...