VC++2008のtableLayouPanelの一つのセル部をボタン化。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
テマリ

VC++2008のtableLayouPanelの一つのセル部をボタン化。

#1

投稿記事 by テマリ » 7年前

コード:

<html>
	<head>
		<title></title>
		<script langeuage="JavaScript">
		<!--
			function henkou(pos){
				switch(pos){
					case 1: document.getElementById("td1").style.backgroundColor="red";
						break;
					case 3: document.getElementById("td3").style.backgroundColor="black";
						break;
				}
			}
		//-->
		</script>
	</head>
	<body>
		<table>
			<tr>
				<td id="td1" onclick="henkou(1)"></td>
				<td></td>
			</tr>
			<tr>
				<td id="td2" onclick="henkou(3)"></td>
				<td></td>
			</tr>
		</table>
	</body>
</html>
htmlであれば<td>タグにonclickを置けばセル一つ部分で関数を動かしセル部の背景色を変更できますが、

VC++2008のフォームアプリケーションの場合では

コード:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
		 }
上のボタンでラベル等で表示されてる文字を変更したりしますが上記のhtmlコードのように組みたいのですが組み方がわかりません。
セルをクリック→クリックされたセルの背景色を変更 をどう組むのか教えて頂けませんか?
それとこういったVC++の細かい使い方等はどこで知ったのかも教えて頂きたいです。


セル一つずつでそれぞれの関数を動かす方法を教えて頂けませんか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。

#2

投稿記事 by softya(ソフト屋) » 7年前

根本的な事として、マイクロソフトがVC++2012で表面上新規プロジェクトを作れなくした将来性のないC++/CLIでのフォームアプリを覚えたいのでしょうか?
「VS2012のVC++でのwindowsフォームアプリケーションの作り方」
http://social.msdn.microsoft.com/Forums ... 35556bd138

今から覚えるならC#の方が良いと思います。

>上のボタンでラベル等で表示されてる文字を変更したりしますが上記のhtmlコードのように組みたいのですが組み方がわかりません。
>セルをクリック→クリックされたセルの背景色を変更 をどう組むのか教えて頂けませんか?

と言うことでC#前提で説明します。※ .NETに熟達していないので勘違いがある可能性があります。
「TableLayoutPanelのセルを独自に描画する: .NET Tips: C#, VB.NET」
http://dobon.net/vb/dotnet/control/tlcellpaint.html
ただし、クリックしたセルの位置を知るイベントがない様なので、これは自力で組まないダメなようです。
「How to detemine in which grid of TableLayoutPanel a mouse click occurred.」
http://social.msdn.microsoft.com/Forums ... 173bd28a12

>それとこういったVC++の細かい使い方等はどこで知ったのかも教えて頂きたいです。

MSDNは基本として、あとはネット検索でしょうね。
ただ、C++/CLIは極端に少ないです。それが消える理由なんでしょうが。

>セル一つずつでそれぞれの関数を動かす方法を教えて頂けませんか?

クリック・イベントでクリックした場所を調べて処理するのが基本です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。

#3

投稿記事 by YuO » 7年前

TableLayoutPanelは,コントロールをテーブル上に1つずつ並べるためのものです。
各セルにボタン等を配置して,DockをFullにして配置すれば,そのセルいっぱいに広がります。
それぞれのセルのクリックの検知をしたいなら,例えばそのセルにすべてPanelを置いて,そのClickイベントをとればよいでしょう。
位置情報はTagにでも入れておくと処理しやすくなるかもしれません。

テマリ

Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。

#4

投稿記事 by テマリ » 7年前

ソフト屋さん、YuOさんありがとうございます。

将来性のあるC#を知っておこうと思います。

マイクロソフトにこんなサービスがあるのを始めて知りました。
MSDNを見ていこうと思います。

質問の件ですがここで質問するのと同時にC言語、C++の書籍を買いました。
C++の書籍に書いてあって解決しました。

MSDNは無償で情報が得られると聞いたのですが無償で得られる情報で十分仕事で使えますか?
それと「ひと目でわかるMicrosoft Visual C# 2010アプリケーション開発入門 (MSDNプログラミングシリーズ) 」
この書籍はあった方が覚えが早いですか?
「独習C# 第3版」これなんかも買おうと思っていますがオススメな書籍があったら教えて欲しいです。

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。

#5

投稿記事 by YuO » 7年前

MS関係の開発で少なくともMSDNを参照しないことはありえないかと。
MSDNは一次情報源ですから,他のページよりも原則として信頼できる情報になります。
ただ,MSDNだけで開発できるかどうかは,必要な範囲の情報をどれだけ理解しているか,に依存します。
MSDNは開発者への資料ではありますが,初心者への資料ではないため,知識が無いと読んでもわからないとは思います。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。

#6

投稿記事 by softya(ソフト屋) » 7年前

独習C#はC#の文法を理解するためには良いと思います。しかし、.NET FrameWorkのGUIにはこれっぽっちも触れられていません。
なので、別にGUIは勉強する必要があります。

「ひと目でわかるMicrosoft Visual C# 2010アプリケーション開発入門 (MSDNプログラミングシリーズ) 」
は浅く分かりやすくの本ですので、プログラミングに慣れているなら必要ないかと思います。
つまり、テマリ さんの知識次第です。

GUI系の情報。本は良いのが思いつきません。
「C# フォーム しっかり入門 - C# による GUI アプリケーション開発」
http://www.wgag.net/csforms/index.html
「Visual C# のチュートリアル」
http://msdn.microsoft.com/ja-jp/library ... .100).aspx

その他TIPS
「C# Tips」
http://www.woodensoldier.info/computer/ ... qindex.htm
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ISLe
記事: 2646
登録日時: 9年前
連絡を取る:

Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。

#7

投稿記事 by ISLe » 7年前

テマリ さんが書きました:MSDNは無償で情報が得られると聞いたのですが無償で得られる情報で十分仕事で使えますか?
MSDNライブラリもインターネットが普及する前は有償だったんですけどね。

MSDNはウィンドウズで動作するソフトウェアを開発する者にとって最先端の技術に触れられる場所です。
開発製品のドキュメントや大量の技術情報がすべて無償で公開されていますし。
ネットで見付けた情報は最終的にMSDNで確認するので、MSDNを対象に絞って検索するボタンをブラウザに用意してます。

書籍はMSDNの情報を元に書かれます。
MSDNの情報で開発を始めれば、書籍を見て開発を始めるひとより何ヵ月も早く習得できるわけです。

コミュニティ機能もできてかなり敷居が低くなりましたけど、かつてはほとんど手が届かない憧れの対象でした。

テマリ

Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。

#8

投稿記事 by テマリ » 7年前

YuOさんソフト屋さんISLeさんありがとうございます。

C#の書籍はひとまず買わずにネットである程度身に付けようと思います。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る