toUTFz and WinAPI GetTextExtentPoint32W

Timon Gehr timon.gehr at gmx.ch
Tue Sep 20 11:24:21 PDT 2011


On 09/20/2011 08:07 PM, Andre wrote:
> Am Tue, 20 Sep 2011 19:27:03 +0200 schrieb Trass3r:
>
>>> bool test(HDC dc, string str, int len, SIZE* s)
>>> {
>>> wchar[] wstr = toUTFz!(wchar*)str;
>>> GetTextExtentPoint32W(dc wstr.ptr, wstr.length, s);
>>
>> toUTFz returns a wchar*, not a wchar[].
>
> I am not familiar with pointers. I know I have to
> call toUTFz! and fill pointer value and length value
> of the WinAPI from the result.
> Do you have any suggestions how to achieve this API call?
>
> Kind regards
> Andre

Are you sure that the call requires the string to be null terminated? I 
do not know that winapi function, but this might work:

bool test(HDC dc, string str, SIZE* s)
{
auto wstr = to!(wchar[])str;
GetTextExtentPoint32W(dc, wstr.ptr, wstr.length, s);
...


More information about the Digitalmars-d-learn mailing list