jjzjj

c++ - 使用 GDI 将文本旋转 90 度

我想在GDISurface上绘制文本并将该文本逆时针旋转90度。我更愿意使用DrawText来绘制文本,因为它支持回车。我尝试使用带有lfEscapement的字体(请参阅下面的代码),但该行未旋转-一条线呈现在另一条线上。有没有可能旋转文本?还是在不旋转的情况下渲染并旋转整个设备上下文?普通文本布局:旋转(期望的结果):caseWM_PAINT:{hdc=BeginPaint(hWnd,&ps);LOGFONTlf={0};HANDLEhFont;ZeroMemory(&lf,sizeof(LOGFONT));lf.lfWeight=FW_NORMAL;lstrcpy(lf.lfFa

c++ - 使用 DEFAULT_GUI_FONT 设置 HFONT 的字体大小

在我的对话框中,我将字体设置为默认的GUI字体,但是我确实需要手动将字体大小设置为15。我该怎么做?HFONTmyQueryFont;myQueryFont=(HFONT)GetStockObject(DEFAULT_GUI_FONT);//setfontsizehereSendMessage(this->hwndQuery,WM_SETFONT,(WPARAM)myQueryFont,FALSE); 最佳答案 您不想使用DEFAULT_GUI_FONT。DEFAULT_GUI_FONTisarelicofthepast.不幸的是,

c++ - 根据字体句柄获取字体文件名 (HFONT)

我遇到过这样一种情况,我们需要知道QFont当前使用的字体的文件名。.知道一个QFont可以给我们字体系列和WindowsHFONT处理。字体系列是不够的,因为像Bold这样的操作样式或Italic会导致Windows选择不同的字体文件。(例如arial.ttf、arialbd.ttf、arialbi.ttf、ariali.ttf)。这段代码示例应该给我们\arial.ttf:QFontfont("Arial",12);FindFontFileName(font.handle());虽然这段代码示例应该给我们\arialbi.ttfQFontfont("Arial",12);font.

c++ - 从 HFONT 创建修改后的 HFONT

我使用Win32API和C/C++。我有一个HFONT,想用它来创建一个新的HFONT。新字体应该使用完全相同的字体规范,只是它应该是粗体。比如:HFONTCreateBoldFont(HFONThFont){LOGFONTlf;GetLogicalFont(hFont,&lf);lf.lfWeight=FW_BOLD;returnCreateFontIndirect(&lf);}“GetLogicalFont”是缺少的API(据我所知)。还有其他方法吗?最好在WindowsMobile5+上运行。 最佳答案 您想使用GetObje