DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 412 413 414 415 416 417 418 419 420 ··· 474 下一页

2013年5月15日

摘要: GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。 GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。 用GetClientRect返回的RECT结构上左为零, 右下分别对应客户区的宽度和高度; ScreenToClient把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标. 我们对同一个窗口先GetWindowRect取得一个... 阅读全文
posted @ 2013-05-15 12:39 DoubleLi 阅读(493) 评论(0) 推荐(0)

2013年5月11日

摘要: 1.首先要陆避免头文件的相互引用: 解决方法: 有两个类A和B, 在各自的头文件中声明对方,而不能用包含, 即要用class 而不能用 include2. 两个类的初始化顺序: 一定要明确两个类的初始化顺序, 如果在类A中初始化B, 就不要再在B中初始化A; 即可以在A的构造函数中m_b(new B());3.在各自的头文件中应只声明对方的指针对像,而不要试图在头文件中去实例化;否则你会发现 这样的错误: 错误 1 error C2146: 语法错误 : 缺少“;”(在标识符“m_b”的前面) A.h 错误 2 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不. 阅读全文
posted @ 2013-05-11 11:23 DoubleLi 阅读(819) 评论(0) 推荐(0)

2013年5月10日

摘要: 在 SQLSERVER2005以后,mssql开始有了递归查询的方法了。比较起最开始写存储过程或者写function的方式。这样的方式更加简便灵活的。而oracle也有自带的树形结构递归查询方法,connect by下面我自己写的一段SQL,简单注释下CTE共用表达式的一些用法。 实现对树状结构的根 阅读全文
posted @ 2013-05-10 09:20 DoubleLi 阅读(723) 评论(0) 推荐(0)

2013年5月9日

摘要: 一般情况下, 你若直接安装ORACLE服务器端软件, 则Oracle ODBC Source自动会被添加进去, 从而不需你做任何事情的.我现在讲一下, 如何通过ORACLE客户端来添加ORACLE ODBC Source的过程.第一步, 点击此链接http://www.oracle.com/technetwork/database/10201winsoft-095341.html (此为ORACLE官方网站)去下载客户端软件. 我们此处以10G为例.所以, 你需要下载10201_client_win32.zip文件.第二步, 解压10201_client_win32.zip, 并双击运行set 阅读全文
posted @ 2013-05-09 12:44 DoubleLi 阅读(1129) 评论(0) 推荐(0)

2013年5月7日

摘要: fsetpos()详解 函数原型:int fsetpos(FILE *fp, const fpos_t *pos);头文件:#include<stdio.h>是否是标准函数:是函数功能:将文件指针定位在pos指定的位置上。该函数的功能与前面提到的fgetpos相反,是将文件指针fp按照pos指定的位置在文件中定位。pos值以内部格式存储,仅由fgetpos和fsetpos使用。返回值:成功返回0,否则返回非0。例程如下 应用fsetpos函数定位文件指针。#include <stdio.h>void main( void ){ FILE *fp; fpos_t pos; 阅读全文
posted @ 2013-05-07 16:51 DoubleLi 阅读(1263) 评论(0) 推荐(0)

摘要: 可等待定时器问题:1. 需要的函数:CreateWaitableTimer,SetWaitableTimer.前者创建一个可等待定时器句柄,后者设置等待定时器触发的条件.我们可以多次调用SetWaitableTimer来重置可等待定时器.重置后之前的定时器将关闭.2. 主要看两段代码:代码一:(这段代码在网上出现的概率是较大的)[cpp] view plaincopyprint?HANDLE hTimer = CreateWaitableTimer( NULL,FALSE,NULL ); LARGE_INTEGER li; li.QuadPart = 0; if( !SetWaitab... 阅读全文
posted @ 2013-05-07 15:49 DoubleLi 阅读(1161) 评论(0) 推荐(0)

摘要: HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // SD BOOL bManualReset, // reset type BOOL bInitialState, // initial state LPCTSTR lpName // object name ); 该函数创建一个Event同步对象,并返回该对象的Handle lpEventAttributes 一般为NULL bManualReset 创建的Event是自动复位还是人工复位 ,如果true,人工复位, 一旦该Event被设置为有信号,则它一... 阅读全文
posted @ 2013-05-07 14:31 DoubleLi 阅读(2504) 评论(0) 推荐(0)

摘要: void clearerr(FILE * stream); 相关函数 feof 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。int fclose(FILE * stream); 相关函数 close,fflush,fopen,setbuf 函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。 返回值 若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。 错误代码 EBADF表示参数stream非已打开的文件。 范例 请参考fopen()。FILE *... 阅读全文
posted @ 2013-05-07 11:21 DoubleLi 阅读(346) 评论(0) 推荐(0)

摘要: 1.fread 和 fwrite: fwrite和fread是以记录为单位的I/O函数,fread和fwrite函数一般用于二进制文件的输入输出。声明:#include <stdio.h> size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);参数解释:size指出一条记录的长度,nmemb指出要读或写多少条记录,这些记录在ptr所指的内存空间中连续存放,共占si 阅读全文
posted @ 2013-05-07 11:20 DoubleLi 阅读(1238) 评论(0) 推荐(0)

2013年5月5日

摘要: VC下的界面着实难看 有时候我们不得不自己进行控件的绘制 以前 一直不理解最近再次看了学了一遍终于明白了一点 与大家分享下... 需要源代码的Q我 寻找一起学VC的朋友 比如说我们要改变一个编辑框的背景 我们响应WM_CTLCOLOR函数 进行OnCtlColor进行修改但是对与 Button控件就不行了 .. 这时候我们要进行自绘制 相关函数 virtual void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct ); 要覆盖掉这个虚函数 并且类型要设置为 BS_OWNERDRAW 这时候 放 应用程序进行初始化界面的时候 会进入我们的 Dra... 阅读全文
posted @ 2013-05-05 01:47 DoubleLi 阅读(1447) 评论(0) 推荐(0)

上一页 1 ··· 412 413 414 415 416 417 418 419 420 ··· 474 下一页