- ベストアンサー
Win32APIでツールバーを縦に設置したいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ツールバーハンドルにTB_SETROWSメッセージを送れば並びを変更出来ます。 基本は横一列なので、ROWは1です。ROWにボタンの数を設定すれば変る筈です。 SendMessage(hTB/*ツールバーハンドル*/, TB_SETROWS/*メッセージ*/, MAKEWPARAM(Row/*縦の数*/, TRUE), (LPARAM)&rcChanged/*変更後の矩形領域を受け取るバッファ*/); 以下参考程度に /*ツールバーハンドルの作成*/ HWND hTB = ::CreateWindowEx(0, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_TABSTOP | WS_VISIBLE, 0, 0, 1, 1, hWndParent, (HMENU)IDC_TOOLBAR1, hInst, 0); /*ボタン用の構造体*/ TBBUTTON tb = {sizeof(tb)}; /*並びを変更した後の矩形領域を受け取るバッファ*/ RECT rcChanged; ::SendMessage(hTB, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0); /*取り合えずボタンを5個作成する*/ for(int i = 0; i < 5; ++i) { tb.fsState = TBSTATE_ENABLED; tb.iBitmap = -1; tb.idCommand = i; ::SendMessage(hTB, TB_INSERTBUTTON, 0, (LPARAM)&tb); } /*ボタンの数を取る*/ const int iCount = ::SendMessage(hTB, TB_BUTTONCOUNT, 0, 0); /*ROWを設定する(此処で縦に並んでいる筈)*/ ::SendMessage(hTB, TB_SETROWS, MAKEWPARAM(iCount, TRUE), (LPARAM)&rcChanged); /*変更後の領域を確認出来る*/ rc.Changed.left...
関連するQ&A
- C++ Win32APIでツールバーの位置を下にしたい。
C++ Win32APIでツールバーの位置を下にしたい。 C++ Win32APIを勉強中でして、ウインドウを作成し、ツールバーをCreateWindowsEXで作成したのですが、このツールバーをウインドウの下部に表示する事は出来ないのでしょうか? ネット上のサイトには作成までの手順は載ってはいたのですが、ツールバーの位置を変更する処理はどうしても見つかりませんでした。 どなたかご存知の方いらっしゃいましたらご指導のほどよろしくお願い致します。
- ベストアンサー
- C・C++・C#
- Win32APIは覚えて損する?
Win32APIは現在一般的に出回ってる32Bit版Windowsの ApplicationProgramingInterfaceですよね? これがそのうち一般的に出回るのが64Bit版Windowsに なったときもWin32APIを勉強したときの知識は役に たつのでしょうか? またWin16→Win32に変わったときはどのような感じだ ったんでしょうか? あと少々質問とずれてしまいますが○○Bit版Windowsの [○○Bit版]はどのような意味を持つのでしょうか? 暇なときにでも回答できたらお願いします ※ ○○=16 or 32 or 64 など
- ベストアンサー
- C・C++・C#
- MFCなのかWin32APIなのか
みなさんはじめまして。グフです。 これからWindows上でC/C++(VisualStudio.NET2003) にて、Windowsアプリケーション開発の勉強を始め ようとしています。 いろんなサイトや書籍を見ている中で、Windowsアプリ の開発方法としてMFCをつかうやり方と、Win32APIで 開発する方法の2つがあることがわかりました。 これからWindowsの勉強を行うにはどちらの方法で開発 するのが望ましいのでしょうか? ケース by ケースだとは思いますが、何かアドバイス いただければと思いまして、投稿させていただきました。 やはり基礎からおさえるのであれば、Win32APIの方が よろしいのでしょうか? 今後のWinFX環境を考えると、Win32APIでの知識が無駄 になってしまうということはないのでしょうか?
- ベストアンサー
- C・C++・C#
- win32API
win32APIと言うのを使えばオフィスの操作だけではなく windowsの操作も出来ると知ったのですが 何ができるか・どんなことができるのかの一覧を知りたいのですが そのようなURL、わかりますか?
- ベストアンサー
- その他MS Office製品
- .NET FrameworkとWin32 API
趣味でプログラミングを始めた初心者です。 Win32 APIを習得しようとしていますが、Windows Vistaから.NET Frameworkが標準のAPIになると聞きました。Win32 APIは引き続き搭載するとのことですが、これが搭載されなくなれば、プログラミングを続けられなくなります。 いずれは、.NETのプログラミングを習得するつもりですが、早めに習得すべきでしょうか?それとも当面はWin32でも大丈夫でしょうか? 勝手な質問ですみません。
- 締切済み
- C・C++・C#
- htmlのハイパーリンクをwin32apiで
htmlのハイパーリンクをwin32apiで win32apiのアプリケーションにhtmlのハイパーリンクのようなコントロールを入れたいのですが、コモンコントロールにそういう物がないか探してみても見つかりません。 スタティックコントロールにあれこれ手を加えて自作するくらいしか方法はないのでしょうか? 沢山見るコントロールなだけに、win32apiの方でハイパーリンクコントロールを実現する物が用意されていないのが不思議です。 何か知っている方、回答お願いします。
- ベストアンサー
- C・C++・C#
- MS-IME2000ツールバーが縦に表示されたのを、元に戻したい
同僚が、お客様から質問されたのですが、 いろいろいじっているうちに、 MS-IME2000ツールバーが画面に縦に表示されてしまったので、 元の画面下端に横に表示させたいそうです。 プロパティのツールバータブで、画面左端をIMEツールバーのために確保するにチェックを入れて、わざと、縦に妙に長くさせてから、横に持ってきて、 もう一度、プロパティのツールバータブで、画面左端をIMEツールバーのために確保するにチェックを入れると、元に戻せる方法は発見したのですが、 もっと簡単に元に戻す方法はないでしょうか? OSはMeです。 よろしくお願いいたします。
- ベストアンサー
- その他(インターネット・Webサービス)
- ツールバーが...。
WIN98を使用しています。子供がいたずらをしてしまったようで突然ツールバーの位置が変わってしまいました。今までは下にあったものが左に移動してしまいました。(左上にスタートキーがある状態です)ツールバーにカーソルを合わせると←→がでるのでドラッグすると横に広がるばかりで縦移動ができません。スタートキーの下に合わせると ↑↓が出るので移動させようとしてもどこにも移動しません。元通りに下にツールバーを出すにはどうしたらよいのでしょうか。
- ベストアンサー
- Windows 95・98
- IME2002のツールバーを縦置き・・・できる?
お世話になります。 初心者な質問で申し訳ないんですが、MS-IME2002のツールバー(言語バー)を縦置きにしたいのですが、以前、雑誌や2○ゃんねるなどで「できないぞ、ゴルァ!」とされていましたが、 http://www.zdnet.co.jp/help/tips/windows/w0572.html 上記サイトで縦置きにする方法が紹介されています。しかし、ウチの環境下(Windows98SEと2000+IE5.5+SP2+officeXP←SPの類は未導入)ではできません。というよりも、図示されている「縦置き(V)」が選択肢に現れません。 これはひょっとして、WindowsもXPでないと対応していないとか、officeのSP2まで導入しないとダメなんでしょうか
- 締切済み
- オフィス系ソフト
お礼
丁寧にありがとうございます。 早速、試してみます。