PDAclub.pl - Forum użytkowników technologii mobilnych
Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Oprogramowanie PPC => Dla programistów => Wątek zaczęty przez: lemkat w Wrzesień 05, 2005, 20:11:23
-
Witam ponownie ;)
Do rysowania tekstu na ekranie pocketa uzywam funkcji ExtTextOut(), problem w tym ze jeden z parametrow funkcji to rozmiar lancucha.
Z funkcji odczytujacej procesy otrzymuje nazwe procesu w postaci:
TCHAR nazwa[ MAXPATH ]; ta nazwe wysylam do funkcji poprzez wskasnik
void WriteToScrean( HWND hWnd , LPCTSTR pText , int x , int y )
{
RECT rect;
HDC hdc;
CString sText;
UINT *uiLength;
hdc = GetDC( hWnd );
GetClientRect( hWnd , &rect );
sText = pText;
ExtTextOut( hdc , x , y , 0 , &rect, pText, ???? , NULL );
ReleaseDC( hWnd , hdc );
UpdateWindow( hWnd );
}
i teraz jak z zmiennej "LPCTSTR pText" uzyskac dlugosc nazwy pliku ???
prubowalem zapisac pText do zmiennej typu CString:
CString str = pText;
i uzyskac z niej rozmiar pText.GetLength tylko ze wartosc zwracana to int a ja potrzebuje uint a nie moge znalesc mozliwosci konwersji, jakies pomysly ?
-
pText.GetLength - jest bez sensu, jeśli już to sText.GetLength()
1. najnormalniej w świecie rzutuj typ (UINT)
2. tylko po co, jak możesz zamiast tych cSringów i innych od razu dać:
ExtTextOut( hdc , x , y , 0 , &rect, pText, (UINT)_tcslen(pText), NULL );
-
Sorry wlasnie wykukalem blad w kodzie ;/
CString sText = "Dowolny tekst";
UINT uiSize = sText.GetLength();
i dziala, kurde chyba za malo snu ;/
Kompilator pokazywal mi blad inny niz w rzeczywistosci, zdarza sie ;/
Pozdrawiam