0
RTLプロパティを使用して、アプリケーションダイアログボックスの編集ボックスにアラビア語のテキストコンテンツを含むツールチップを表示する単純なMFCアプリケーションを作成します。 私のコードは次のようになります。mfcアプリケーションでアラビア語のツールチップを作成する方法
HWND CMFCApplicationDlg::CreateToolTip(HWND hWnd, LPCTSTR szText){
hWndTT = CreateWindowEx(NULL, TOOLTIPS_CLASS, NULL,
WS_POPUP | TTS_ALWAYSTIP | TTS_BALLOON,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
m_hWnd,
NULL,
GetModuleHandle(NULL),
NULL);
if(!hWndTT)
{
return NULL;
}
if (szText == NULL)
{
::DestroyWindow(hWndTT);
hWndTT = NULL;
return NULL;
}
// Set up the tool information. In this case, the "tool" is the entire parent window
toolItem.cbSize = sizeof(toolItem);
toolItem.uFlags = TTF_IDISHWND | TTF_SUBCLASS | TTF_RTLREADING;//Setting RTL flag here
toolItem.hwnd = m_hWnd;
toolItem.hinst = GetModuleHandle(NULL);
toolItem.lpszText = (wchar_t *)szText;
toolItem.uId = (UINT_PTR)hWnd;
::GetClientRect(hWnd, &toolItem.rect);
// Associate the tooltip with the tool window
LRESULT result = ::SendMessage(hWndTT, TTM_ADDTOOL, 0, (LPARAM)&toolItem);
return hWndTT;
}
私はのOnInitDialog()メソッドからこのように、この関数を呼んでいる:
CreateToolTip((HWND)GetDlgItem(IDC_EDIT_DUMMY), L".استخدم 2 من المرات في اليوم");
ここIDC_EDIT_DUMMYは私が添付しようとしているエディットボックスのIDですのツールチップ。しかし何らかの理由で、アプリケーションはツールチップをまったく表示しません。どこが間違っていますか?