Chinaunix首页 | 论坛 | 博客
  • 博客访问: 525153
  • 博文数量: 158
  • 博客积分: 4015
  • 博客等级: 上校
  • 技术积分: 1711
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-27 14:00
文章分类

全部博文(158)

文章存档

2010年(71)

2009年(87)

我的朋友

分类: C/C++

2010-01-27 23:18:57

来自《windows程序设计》:请理解每一句的意思

#ifdef _cplusplus
#define EXPORT extern "C" _declspec(dllexport)
#else
#define EXPORT _declspec(dllexport)
#endif

EXPORT BOOL CALLBACK CenterText(HDC, PRECT, PCSTR);

OK,我们可以写实现文件了:

#include <windows.h>
#include "dll.h"

int WINAPI DllMain(HINSTANCE hInstance,
                 DWORD fdwReason,
                 PVOID pvReserved) {
    return TRUE;
}

EXPORT BOOL CALLBACK CenterText(HDC hdc,
                                PRECT pRect,
                                PCSTR cStr) {
    int iLength;
    SIZE size;

    iLength = strlen(cStr);
    GetTextExtentPoint32(hdc, cStr, iLength, &size);
    TextOut(hdc, (pRect->right - pRect->left - size.cx) / 2,
        (pRect->bottom - pRect->top - size.cy) / 2,
        cStr, iLength);
}


阅读(2490) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~