我想在Windows窗體應用程序,Visual Studio 2010(C++)中旋轉一段文字或數字90°。是否有捷徑可尋?如何在Windows Forms/C++中旋轉文本或數字90°?
回答
String theString = "90 Degree Rotated Text";
SizeF sz = e.Graphics.VisibleClipBounds.Size;
//Offset the coordinate system so that point (0, 0) is at the center of the desired area.
e.Graphics.TranslateTransform(sz.Width/2, sz.Height/2);
//Rotate the Graphics object.
e.Graphics.RotateTransform(90);
sz = e.Graphics.MeasureString(theString, this.Font);
//Offset the Drawstring method so that the center of the string matches the center.
e.Graphics.DrawString(theString, this.Font,
Brushes.Black, -(sz.Width/2), -(sz.Height/2));
//Reset the graphics object Transformations.
e.Graphics.ResetTransform();
從here
這不是C++ –
OOPS,我只注意到了Winforms標籤.. 我這個應該有幫助.. http://www.codeproject.com/Articles/740/Simple-text-rotation – Pankaj
嗨,非常感謝你爲了您的答案,我在哪裏放置代碼?我在這個事件private:System :: Void label37_Paint(System :: Object^sender,System :: Windows :: Forms :: PaintEventArgs^e){}中試過它,它沒有工作。 Windows窗體不明白e。非常感謝你! – Weiwei
複製您必須創建一個LOGFONT並與lfEscapement的價值觀和lfOrientation玩,就像這樣:
SetGraphicsMode(hdc, GM_ADVANCED);
LOGFONT font = {0};
font.lfHeight = 0;
font.lfWidth = 0;
font.lfEscapement = 900; // here
font.lfOrientation = 900; // and here
font.lfWeight = 0;
font.lfItalic = false;
font.lfUnderline = false;
font.lfStrikeOut = false;
font.lfCharSet = DEFAULT_CHARSET;
font.lfOutPrecision = OUT_DEFAULT_PRECIS;
font.lfClipPrecision = CLIP_DEFAULT_PRECIS;
font.lfQuality = CLEARTYPE_QUALITY;
font.lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
auto newfont = CreateFontIndirect(&font);
auto oldfont = SelectObject(hdc, newfont);
/* do actual drawing here */
SelectObject(hdc, oldfont);
SetGraphicsMode(hdc, GM_COMPATIBLE);
DeleteObject(newfont);
- 1. 如何在jasper報告中將文本字段旋轉90度?
- 2. 在iOS中將文本旋轉90度
- 3. 表中的90度文字旋轉
- 4. 如何在父元素的中間放置90°旋轉文本
- 5. 如何在Windows 8/IE10中90°旋轉HTML/Javascript中的圖像或對象?
- 6. 如何旋轉TeeChart 90度
- 7. 如何旋轉StageVideo 90度
- 8. Android的旋轉按鈕文本90度
- 9. 使用GDI將文本旋轉90度
- 10. 垂直對齊90度旋轉文字
- 11. 僅使用CSS旋轉90°的文本
- 12. 旋轉文字/格90度(靜態)
- 13. 旋轉CALayer 90度?
- 14. 如何旋轉UITextField 90度以便文本垂直?
- 15. 如何將FullCalendar事件文本旋轉90度爲垂直
- 16. CGAffineTransform旋轉90度
- 17. 如何在Y軸上向左或向右旋轉90度?
- 18. 旋轉臺90度
- 19. matrix.postRotate(90)在圖像旋轉
- 20. 在IE8中旋轉文本90度不起作用
- 21. 在IE和Firefox中垂直顯示文本(旋轉90度)
- 22. 我如何在php中將二維數組旋轉90度
- 23. 旋轉HTML特殊字符或文本
- 24. 如何正確居中旋轉(90)文本在自舉col-md-1
- 25. 旋轉PDF文件n度,其中n不是90的倍數
- 26. 如何順時針旋轉90度(swift3)
- 27. 如何旋轉線形90度?
- 28. 如何將輸出旋轉90度?
- 29. 如何旋轉TextView 90度並顯示
- 30. 如何旋轉90度的UIImage?
* [C#標籤的垂直的可能的複製在Windows窗體](http://stackoverflow.com/questions/1371943/c-sharp-vertical-label-in-a-windows-forms)*。 –