小编Ale*_*der的帖子

如何使用c ++/WinAPI绘制透明背景的文本?

如何使用WinAPI绘制透明色的文本?通常我使用SetBkMode(hDC,TRANSPARENT),但现在我需要使用双缓冲区.通过这种方式,图像绘制正确,但文本绘制不正确(黑色背景).

case WM_PAINT:
{
    hDC = BeginPaint(hWnd, &paintStruct);
    SetBkMode(hDC, TRANSPARENT);

    HDC cDC = CreateCompatibleDC(hDC);
    HBITMAP hBmp = CreateCompatibleBitmap(hDC, width, height);
    HANDLE hOld = SelectObject(cDC, hBmp);

    HFONT hFont = (HFONT)SelectObject(hDC, font);
    SetTextColor(cDC, color);
    SetBkMode(cDC, TRANSPARENT);

    TextOut(cDC, 0, 0, text, wcslen(text));

    SelectObject(cDC, hFont);

    BitBlt(hDC, 0, 0, width, height, cDC, 0, 0, SRCCOPY);

    SelectObject(cDC, hOld);
    DeleteObject(hBmp);
    DeleteDC(cDC);

    EndPaint(hWnd, &paintStruct);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ winapi gdi

10
推荐指数
2
解决办法
2万
查看次数

与epoll异步连接和断开连接(Linux)

我需要使用epoll for Linux为tcp客户端进行异步连接和断开连接.有分机.Windows中的函数,如ConnectEx,DisconnectEx,AcceptEx等...在tcp服务器标准接受函数正在工作,但在tcp客户端无法正常工作连接和断开...所有套接字都是非阻塞的.

我怎样才能做到这一点?

谢谢!

sockets linux asynchronous epoll tcp

8
推荐指数
1
解决办法
3万
查看次数

如何使用IOCP获取客户端真正的IP地址和端口?

我需要在服务器中使用ip-address和客户端端口.使用IOCP在C++上编写的服务器,所以我不接受客户端,我创建新的套接字然后在这个就绪套接字上接受(AcceptEx)客户端.因为它结构sockaddr_in是不正确的.

我怎样才能做到这一点?

谢谢!

c++ sockets winsock iocp

1
推荐指数
1
解决办法
731
查看次数

标签 统计

c++ ×2

sockets ×2

asynchronous ×1

epoll ×1

gdi ×1

iocp ×1

linux ×1

tcp ×1

winapi ×1

winsock ×1