Desktop Functions: Smart Device Functions:
|
GetTextExtentPoint32 (gdi32)
C# Signature:
[DllImport("gdi32.dll")] User-Defined Types:None. Notes:None. Tips & Tricks:If you need to treat unicode text, you'll need to set the CharSet option to Unicode or Auto (which is default on WindowsNT) [DllImport("gdi32.dll", CharSet=CharSet.Unicode)] static extern bool GetTextExtentPoint32(IntPtr hdc, string lpString,
int cbString, out SIZE lpSize); Please add some! Sample Code:// the GDI class contains static "gdi32.dll" calls public Size getExtent(string text, Graphics graphics, Font font) {
Size sz = Size.Empty; } Alternative Managed API:If you are using GDI+ with a Graphics object you can make use of the following code sample:
using System.Windows.Forms; // for TextRenderer using System.Windows.Forms; // for TextRenderer
Size size=TextRenderer.MeasureText(g, str, f, new Size(), TextFormatFlags.NoPadding); Since .NET padding has been added to font's height and width. So you need to make use of the format flag TextFormatFlags.NoPadding to get the real size of the text. Variables:
g - is the Graphics object you want to draw on For more information see http://msdn.microsoft.com/de-de/library/system.windows.forms.textrenderer(VS.80).aspx Good luck and have fun https://emoticons/wink_smile.gif (Julian Taupe) Please edit this page!Do you have...
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more). |
|