C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: 文字列を90度回転させて表示したい
(過去ログ 73 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■42794
/ inTopicNo.1)
文字列を90度回転させて表示したい
▼
■
□投稿者/ Y.H
(1回)-(2009/10/21(Wed) 14:30:32)
分類:[C/C++]
Visual Studio2005
Visual C++
CDC* cdc = GetDlgItem(ピクチャコントロールID)->GetDC();
cdc->TextOut(100,100,"bbb");
この"bbb"を90度回転させて表示するにはどうすればいいのですか?
お願いします。
引用返信
編集キー/
編集
■42800
/ inTopicNo.2)
Re[1]: 文字列を90度回転させて表示したい
▲
▼
■
□投稿者/ とっちゃん
(424回)-(2009/10/21(Wed) 14:50:07)
■
No42794
(Y.H さん) に返信
> CDC* cdc = GetDlgItem(ピクチャコントロールID)->GetDC();
>
> cdc->TextOut(100,100,"bbb");
>
> この"bbb"を90度回転させて表示するにはどうすればいいのですか?
> お願いします。
回転というのはどういうものでしょう?
文字のフェースだけを横にして、進行方向は同じままなのでしょうか?
それとも、縦書きにしたいのでしょうか?
あと、90度回転もどっち方向に90度かも重要です。
GDIですので、縦書きであれば、選択フォントの@付きのものを選び
回転(LOGFONT構造体やCreateFontのパラメータ)と向きを90度寝かす(一般的な縦書き方向なら270.0度を指定)ことで
実現できると思います。
引用返信
編集キー/
編集
■42802
/ inTopicNo.3)
Re[2]: 文字列を90度回転させて表示したい
▲
▼
■
□投稿者/ Y.H
(2回)-(2009/10/21(Wed) 14:58:44)
■
No42800
(とっちゃん さん) に返信
回答ありがとうございます。
縦書きでなく文字のフェースだけを横にして、進行方向は同じにしたいです。
反時計回りに90度です。
初心者ですのでよくわからないです。
具体的なコードを書いていただけないでしょうか?
引用返信
編集キー/
編集
■42811
/ inTopicNo.4)
Re[3]: 文字列を90度回転させて表示したい
▲
▼
■
□投稿者/ w.b.g.
(1回)-(2009/10/21(Wed) 15:55:26)
■
No42802
(Y.H さん) に返信
> ■
No42800
(とっちゃん さん) に返信
>
> 回答ありがとうございます。
> 縦書きでなく文字のフェースだけを横にして、進行方向は同じにしたいです。
> 反時計回りに90度です。
>
> 初心者ですのでよくわからないです。
> 具体的なコードを書いていただけないでしょうか?
http://glossary.tank.jp/t004C.html
引用返信
編集キー/
編集
■42815
/ inTopicNo.5)
Re[3]: 文字列を90度回転させて表示したい
▲
▼
■
□投稿者/ とっちゃん
(425回)-(2009/10/21(Wed) 16:07:27)
■
No42802
(Y.H さん) に返信
> 回答ありがとうございます。
> 縦書きでなく文字のフェースだけを横にして、進行方向は同じにしたいです。
> 反時計回りに90度です。
>
ということはフォントの向きだけ回転(反時計回りなので左側に文字の上辺が来る)ということですね。
> 初心者ですのでよくわからないです。
> 具体的なコードを書いていただけないでしょうか?
私のポリシーなので載せません。
ということで文章でコード片を書いておきます。
あんまり頭良くないんで、日本語へたっぴで申し訳ないですが、がんばって解読してください。
一応キーワードになりえるものも満載したつもりです。
文字の出力は、フォント(CFont)を作成し、それを出力先(CDC)に選択して(SelectObject)から出力(TextOut)します。
選択状態は後で戻すことも忘れてはなりません。
また、フォントは貴重なシステムリソース(GDIリソースと呼ばれるもの)ですので、不要になったら削除します。
コントロールに出力する際基本となるフォント情報が必要なのであれば、そのコントロール(CWnd)に、フォント情報を問い合わせる(GetFont)ことで情報を取得します。
エンドユーザーが任意に選べるのであれば、フォントダイアログ(CFontDialog)などを利用する方法もあるでしょう。
フォントの作成は、CFont::CreateFont もしくは、CFont::CreateFontIndirect で行えます。
細かなパラメータなどは、VSのコードエディタに CreateFont と入力してそこにカーソルを合わせてF1キーを押せばかなり簡単に調べることができると思います。
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-