textout

    1熱度

    1回答

    作爲標題,我使用CDC工具來繪製文本,如下面的代碼,並使用nXOffset變量來移動位置以對齊我的文本,但移位長度的結果是順從的在Windows 7和Windows XP,Windows 7是好的,但窗口XP不符合我的期望。 如何解決它,以及它會造成什麼樣的問題? CDC* m_cdcRealTimeValue; m_cdcRealTimeValue->SelectObject(&mFont)

    1熱度

    1回答

    夥計。我發現真的很奇怪的問題。使用一些字體(在我的程序中有一個ChooseFont):: TextOut(..)將文本從選定位置向左移動一點(像2 pxl一樣)。 DrawText(..)採用相同的方式。 SetTextAlign不要解決這個問題! GetTextMetrics(..) - > lpOverhead = 0.Ehm ...當我使用GetExtendPoint32(..)計算下一個位

    -1熱度

    1回答

    假設我用可變寬度字體將一行文本寫入帶有TextOut的窗口,並允許用戶單擊任何字母。那我怎麼知道他點擊了哪部分文字呢?換句話說,我如何將他點擊的光標座標轉換爲字符串偏移? 我想可以通過調用各種字符串截斷的GetTextExtentPoint32來完成,直到我擊中了正確的一個,但肯定有更有效的方法。微軟的記事本程序確切知道當我在一條線上向右箭頭時移動多少個像素 - 但是如何?

    2熱度

    1回答

    我出文字,但他爬過我的窗口區域,我怎麼能修好它? 我的代碼 PAINTSTRUCT ps; hdc=BeginPaint(hWnd3,&ps); LOGFONT lf; lf.lfWidth=0; lf.lfHeight=14; strcpy(lf.lfFaceName,"Times New Roman"); lf.lfEscapemen

    1熱度

    3回答

    我正在寫一個在畫布上繪製文本的函數。該功能支持垂直和水平對齊,也支持文本方向。我的問題是,當面向文本時,無法計算正確的對齊方式。這是標頭: procedure drawText(canvas: TCanvas; pos: TPoint; Text: string; FontName: TFontName; FontSize: integer; FontColor: TColor; Ang

    0熱度

    1回答

    當我們想要使用win32本機TextOutW函數尋求幫助時,請使用從右到左的文本方向顯示字符。基本上,我希望TextOutW能夠按原樣顯示帶有字符的文本,而無需對文本應用任何轉換,修整等。 我有什麼,基本上是一個簡單的代碼[1]是這樣的: WCHAR text[2] = { 0x5D3, 0x5E9 }; TextOutW(hdc, 100, 100, (LPCWSTR) text, 2);

    2熱度

    1回答

    我正在研究一段基本上通過多次調用TextOut在屏幕上繪製文本的代碼。這是一個C++ Win32應用程序,我使用的是Visual Studio 2012.如何在Word在標記拼寫錯誤等時進行波浪下劃線? TEXTMETRIC有一個名爲tmUnderlined的成員,適用於正常帶下劃線的文本,但不適用于波浪下劃線。我還發現微軟的RichEdit控件支持波浪下劃線,但我也無法使用它。 我當然可以使用簡

    1熱度

    1回答

    因此,我使用WinAPI創建Windows應用程序,並且在處理WM_PAINT時使用TextOut()函數以便在窗口上寫入文本。 case WM_PAINT: { PAINTSTRUCT ps; HDC hdc; hdc = BeginPaint(hwnd,&ps); SelectObject(hdc,hfDefault); TextOut(hd

    1熱度

    1回答

    我正在使用UNICODE指令進行編譯,所以所有CStrings都使用Unicode編碼。如果將「봉재」放入CString中,選擇帶有「Arial」的字體,然後使用TextOut或TextOutW顯示該文本,則會顯示兩個框。 如果我在文本中添加拉丁字符,例如「ABC」,然後顯示變成兩個框,然後是「ABC」。 但是,如果我在文本中添加了某些其他CJKV字符,例如「봉재/元」,然後顯示器顯示我CStri

    0熱度

    1回答

    整個代碼段正確鑄... #include <windows.h> #include <string> #include <vector> using namespace std; //========================================================= // Globals. HWND ghMainWnd = 0; HINSTANCE g