|
2018/03/12(Mon) 16:58:56 編集(投稿者)
■No86758 (mayoppes さん) に返信 > このForm内に配置したToolStripメニューにPrintPreviewDialogのToolStripボタン > のイメージを利用したいのですが、指定方法が解りません。
ToolStrip を、丸ごと
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.Controls.Remove(Me.ToolStrip1) Me.ToolStrip1.Dispose() Me.ToolStrip1 = Me.PrintPreviewDialog1.Controls.OfType(Of ToolStrip).FirstOrDefault() Me.Controls.Add(Me.ToolStrip1) End Sub
のように付け替える……というのは強引すぎるので無しとして。 たとえばこんな感じでどうでしょう。
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim bmp As New Bitmap(GetType(PrintPreviewDialog), "PrintPreviewStrip.bmp") bmp.MakeTransparent() Me.ImageList1.Images.AddStrip(bmp) Me.ToolStrip1.ImageList = Me.ImageList1 Me.ToolStrip1.Items(0).Text = "印刷" Me.ToolStrip1.Items(0).ImageIndex = 0 Me.ToolStrip1.Items(1).Text = "ズーム" Me.ToolStrip1.Items(1).ImageIndex = 1 Me.ToolStrip1.Items(2).Text = "1 ページ" Me.ToolStrip1.Items(2).ImageIndex = 2 Me.ToolStrip1.Items(3).Text = "2 ページ" Me.ToolStrip1.Items(3).ImageIndex = 3 Me.ToolStrip1.Items(4).Text = "3 ページ" Me.ToolStrip1.Items(4).ImageIndex = 4 Me.ToolStrip1.Items(5).Text = "4 ページ" Me.ToolStrip1.Items(5).ImageIndex = 5 Me.ToolStrip1.Items(6).Text = "6 ページ" Me.ToolStrip1.Items(6).ImageIndex = 6 End Sub
> (2)又、同じような事だと思うのですが、ToolStripの右クリックから「標準項目の挿入」を > 実行すると、I/Oや編集関連のアイコンが追加されます。 > これを.Netが自動で作成するデザイナのコードを確認すると以下のようになっています。 > Me.印刷PToolStripButton1.Image = CType(resources.GetObject("印刷PToolStripButton1.Image"), System.Drawing.Image) > このGetObjectの引数「"印刷PToolStripButton1.Image"」は他に「どのようなものが利用できるか」、 > 「どこを検索すればわかるのか」、といった事が知りたいです。
ソリューション エクスプローラーで、[すべてのファイルを表示]を選択し、 Form1.vb の子階層に表示される Form1.resx を見れば分かります。
> ToolStripSplitButton.Image = My.Resources.何某
この場合は、プロジェクト全体に対する埋め込みリソースの参照を意味しますね。
一方、フォーム単位の埋め込みリソースでは Dim resources As New System.ComponentModel.ComponentResourceManager(GetType(Form1)) Me.印刷PToolStripButton1.Image = CType(resources.GetObject("印刷PToolStripButton1.Image"), System.Drawing.Image) のように指定されます。 複数のフォームで同じ画像を使いまわす場合は、My.Resources の方が効率的ですね。
また、Professional Edition 以上の Visual Studio では、 埋め込みに使える画像集が、Visual Studio のインストール先の VS2010 → Microsoft Visual Studio 10.0\Common7\VS2010ImageLibrary\1041\VS2010ImageLibrary.zip VS2008 → Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\1041\VS2008ImageLibrary.zip VS2005 → Microsoft Visual Studio 8\Common7\VS2005ImageLibrary\VS2005ImageLibrary.zip VS.NET2003 → Microsoft Visual Studio .NET 2003\Common7\Graphics に用意されています。 ただし VS2012 以降では同梱されなくなっており、Download Center からの入手が必要となります。 https://www.microsoft.com/en-us/download/details.aspx?id=35825
|