作者: admin

  • VC 使用命令行编译

    VC 使用命令行编译,创建批处理命令如下:

    @echo off
    
    taskkill /f /im MyAssistant.exe
    set path=D:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE;%Systemroot%;%systemroot%/system32;
    set name=MyAssistant
    set outname=MyAssistant.exe
    
    devenv /Rebuild Release "MyAssistant.sln"  /project "MyAssistant.vcproj" /projectconfig Release
    pause
  • VC 屏幕截图

    VC++实现屏幕截图:

    void CScreenDlg::OnPaint()
    {
    	CClientDC dc(this); 
    	// 获取屏幕DC
    	HDC hScrDC = ::GetDC(NULL);
    	// 得到屏幕分辨率  
    	INT nHeight = GetDeviceCaps(hScrDC, VERTRES);
    	INT nWidth = GetDeviceCaps(hScrDC, HORZRES);  
    	// 创建屏幕DC的兼容DC
    	HDC hMemDC1 = CreateCompatibleDC(hScrDC);
    	// 创建屏幕兼容位图
    	HBITMAP hBitmap1 = CreateCompatibleBitmap(hScrDC, nWidth, nHeight);
    	// 把兼容位图选入兼容DC
    	HBITMAP hBitmap2 = (HBITMAP)SelectObject(hMemDC1, hBitmap1);
    	// 复制DC
    	BitBlt(hMemDC1, 0, 0, nWidth, nHeight, hScrDC, 0, 0, SRCCOPY);
    	// 显示
    	BitBlt(dc.GetSafeHdc(), 0, 0, nHeight, nWidth, hMemDC1, 0, 0, SRCCOPY);
    	::DeleteObject(hBitmap1);
    	::DeleteDC(hMemDC1);
    	__super::OnPaint();
    }
  • ehlib3 增强dbgrid控件 for cb5安装方法

    ehlib3 增强dbgrid控件 for cb5安装方法:

    ehlib3 增强dbgrid控件
    参见ehlib3/readme.txt
    安装步骤:
    1)cb5目录下建ehlib目录,
    如C:/Program Files/Borland/CBuilder5/EhLib。
    2) 拷贝ehlib3目录下Common和BCB5 目录下的文件到前一步骤建立的cb5中的ehlib目录,注意拷贝时只包含文件,不能带有目录结构。
    3) Cb5 IDE 中使用 “File/Open…” 菜单打开cb5 ehlib目录中文件EhLibB50.bpk.,编译该组件,使用 “File/Open…” 菜单打开DclEhLibB50.bpk,编译并安装。注意:bpl文件默认安装在/Projects/Bpl目录,此目录需包含在PATH环境变量中

  • CB5的第三方组件

    CB5的第三方组件及下载地址

    1stClass4000
    EhLib3
    Indy
    Indy-9-0-Help-WinHelp
    InfoPower4000Pro_vcl5
    Odac

    http://mydelphi.8u8.com
    http://www.yckq.com/delphi
    http://www.2ccc.com
    http://www.delphibox.com


  • CB 或DELPHI出现无法加载dclite50.bpl的解决办法

    现象:

    Borland Integrated Translation Environment 加载出错

    解决办法:

    我的电脑—>(鼠标右键)属性—>高级—>(性能)设置—>数据执行保护
    将 CB 或 delphi 的执行程序加进去

    重新打开CB或DELPHI, component->Install Paceages->add dclite50.bpl (在borland/CBuilder5/Bin下)

    OK.

  • CBC TIniFile类以及ExtractFilePath

    用了TIniFile类 需要添加如下头文件才能编译通过
    #include <IniFiles.hpp>

    其次
    ExtractFilePath(Application->ExeName)
    得出的是当前exe程序的路径 不是exe的名字

  • PROC生成的文件,编译时出现sqlcxt无法解析的外部符号

    问题:PROC生成的文件,编译时出现sqlcxt无法解析的外部符号。

    解决办法:

     extern void sqlcxt (void **, unsigned int *,struct sqlexd *, const struct sqlcxp *);前面增加extern "C"即可.例如:

    extern "C" extern void sqlcxt (void **, unsigned int *,
    struct sqlexd *, const struct sqlcxp *);

  • 安装完PROC编译器

    打开安装程序 client   ->   adminstration

    安装完成后,就有proc了

  • VC++托盘图标菜单弹出后,点击其它地方,菜单不消失的问题

    遇到VC++托盘图标菜单弹出后,点击其它地方,菜单不消失的问题。

    解决办法:在TrackPopupMenu函数前面添加SetForegroundWindow();即可解决.

    示例代码:

    POINT point;
    HMENU hMenu, hSubMenu;
    GetCursorPos(&point);
    hMenu = LoadMenu(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MENU1));
    hSubMenu = GetSubMenu(hMenu, 0);
    SetMenuDefaultItem(hSubMenu, -1, FALSE);
    SetForegroundWindow();	// 解决托盘图标菜单弹出后,点击其它地方,菜单不消失的问题
    TrackPopupMenu(hSubMenu, TPM_BOTTOMALIGN, point.x, point.y, 0, m_hWnd, NULL);
    PostMessage(WM_NULL, 0, 0);   
    DestroyMenu(hMenu);

  • CB5:Error E2266: No file names given

    CB5,命令行编译时,出现如下错误:

    Error E2266: No file names given

    这个问题是bpr文件的错误,找个可以编译的,对比一下,然后修改相关不一致的地方即可.