ページ 1 / 1
VC++2008のtableLayouPanelの一つのセル部をボタン化。
Posted: 2012年12月22日(土) 05:50
by テマリ
コード:
<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++の細かい使い方等はどこで知ったのかも教えて頂きたいです。
セル一つずつでそれぞれの関数を動かす方法を教えて頂けませんか?
Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。
Posted: 2012年12月22日(土) 12:12
by softya(ソフト屋)
根本的な事として、マイクロソフトが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は極端に少ないです。それが消える理由なんでしょうが。
>セル一つずつでそれぞれの関数を動かす方法を教えて頂けませんか?
クリック・イベントでクリックした場所を調べて処理するのが基本です。
Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。
Posted: 2012年12月22日(土) 13:35
by YuO
TableLayoutPanelは,コントロールをテーブル上に1つずつ並べるためのものです。
各セルにボタン等を配置して,DockをFullにして配置すれば,そのセルいっぱいに広がります。
それぞれのセルのクリックの検知をしたいなら,例えばそのセルにすべてPanelを置いて,そのClickイベントをとればよいでしょう。
位置情報はTagにでも入れておくと処理しやすくなるかもしれません。
Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。
Posted: 2012年12月25日(火) 09:36
by テマリ
ソフト屋さん、YuOさんありがとうございます。
将来性のあるC#を知っておこうと思います。
マイクロソフトにこんなサービスがあるのを始めて知りました。
MSDNを見ていこうと思います。
質問の件ですがここで質問するのと同時にC言語、C++の書籍を買いました。
C++の書籍に書いてあって解決しました。
MSDNは無償で情報が得られると聞いたのですが無償で得られる情報で十分仕事で使えますか?
それと「ひと目でわかるMicrosoft Visual C# 2010アプリケーション開発入門 (MSDNプログラミングシリーズ) 」
この書籍はあった方が覚えが早いですか?
「独習C# 第3版」これなんかも買おうと思っていますがオススメな書籍があったら教えて欲しいです。
Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。
Posted: 2012年12月25日(火) 11:49
by YuO
MS関係の開発で少なくともMSDNを参照しないことはありえないかと。
MSDNは一次情報源ですから,他のページよりも原則として信頼できる情報になります。
ただ,MSDNだけで開発できるかどうかは,必要な範囲の情報をどれだけ理解しているか,に依存します。
MSDNは開発者への資料ではありますが,初心者への資料ではないため,知識が無いと読んでもわからないとは思います。
Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。
Posted: 2012年12月25日(火) 12:25
by softya(ソフト屋)
独習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
Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。
Posted: 2012年12月25日(火) 17:57
by ISLe
テマリ さんが書きました:MSDNは無償で情報が得られると聞いたのですが無償で得られる情報で十分仕事で使えますか?
MSDNライブラリもインターネットが普及する前は有償だったんですけどね。
MSDNはウィンドウズで動作するソフトウェアを開発する者にとって最先端の技術に触れられる場所です。
開発製品のドキュメントや大量の技術情報がすべて無償で公開されていますし。
ネットで見付けた情報は最終的にMSDNで確認するので、MSDNを対象に絞って検索するボタンをブラウザに用意してます。
書籍はMSDNの情報を元に書かれます。
MSDNの情報で開発を始めれば、書籍を見て開発を始めるひとより何ヵ月も早く習得できるわけです。
コミュニティ機能もできてかなり敷居が低くなりましたけど、かつてはほとんど手が届かない憧れの対象でした。
Re: VC++2008のtableLayouPanelの一つのセル部をボタン化。
Posted: 2012年12月26日(水) 11:12
by テマリ
YuOさんソフト屋さんISLeさんありがとうございます。
C#の書籍はひとまず買わずにネットである程度身に付けようと思います。
ありがとうございました。