Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Libraries and TheIDE: i18n, Unicode and Internationalization » Japanese IME test code
Re: Japanese IME test code [message #15506 is a reply to message #15099] Sun, 27 April 2008 04:05 Go to previous messageGo to previous message
mobilehunter is currently offline  mobilehunter
Messages: 87
Registered: November 2006
Member
Here are new implementation.
Tested against EditCtrl only.

at CtrlCore.h:
virtual Font   GetIMEFont();
virtual Point  GetIMEPoint();


at Ctrl.cpp:
//default implementation
Font Ctrl::GetIMEFont()
{
	return StdFont();
}

Point Ctrl::GetIMEPoint()
{
	POINT pt;
	GetCaretPos(&pt);//still not upp-wise :)
	
	return Point(pt);
}


at win32proc.cpp:
case WM_IME_STARTCOMPOSITION:
{
	Ctrl*f=GetFocusChild();
		
	HWND hwnd =GetHWND();
	Point imePt = f->GetIMEPoint();
	Font imeFont = f->GetIMEFont();

	COMPOSITIONFORM cf;
	cf.dwStyle = CFS_POINT;
	cf.ptCurrentPos.x = imePt.x;
	cf.ptCurrentPos.y = imePt.y;
		
	LOGFONT lf;
	HIMC hIMC = ImmGetContext(hwnd);
		
	ImmGetCompositionFont(hIMC,&lf);
	lf.lfHeight = -imeFont.Info().GetHeight();
	ImmSetCompositionFont(hIMC, &lf);	
		
	ImmSetCompositionWindow(hIMC, &cf);
	ImmReleaseContext(hwnd, hIMC);
}
break;
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: How to retrieve current language?
Next Topic: CJK characters can be higlighted as keywords
Goto Forum:
  


Current Time: Sat Apr 27 19:56:02 CEST 2024

Total time taken to generate the page: 0.05377 seconds