2007-01-01から1年間の記事一覧

私ははまった

CRect(100, 100, 150, 50) これでCButton->Create()を実行,表示されなかった. 理由は簡単,100->50というマイナスの大きさ指定は無効になるということである. CSplitterWndのあとでreturn CFrameWnd::OnCreateClient(,,,) これは,return TRUEなりbRetな…

もう12月

ますます寒いですね. そして不思議に思うほど日が低い. 日中の暖かさ 冬を乗り切るこつは,日中の暖かさを失わない部屋を作ることですよ と思った.夏は日が高いので,陽射しはひさしに遮られる.冬は陽射しが容赦なく入ってくるので,9時10時を越える…

オーナードロー可能なコントロール(071123)

オーナードローを設定可能なコントロールには ListBox, TreeView, TabControl, ComboBoxがあるようだ.組み込みのオーナー描画サポートを備えたコントロールButtonなんかは無理なんだね,,,他にないか探してみよう.

ListBoxで,記憶するデータと表示を違う物にする

ListBoxは非常に柔軟で,大体どんなデータでも追加することが出来る.取り出すときにデータをobjectから明示的にキャストしてやらないことには利用できないのだけれど.キャストを忘れなければなんでも使える.もとはと言えば「ListBoxに記憶させているデー…

寒くなりました.

岐阜の冬は寒いのです. でも突然寒くなるなんてひどいじゃないかと思った. 鍋が恋しい季節です 百円土鍋(http://www.geocities.jp/fly_so_far_away/index.html)を使って手軽にお鍋.その実,野菜と豚肉を重ね煮しているだけだったりする.ポン酢でいただ…

Button Control

C#

ボタンは,マウスで押す,Enterでマウスで押したのと同じ効果.何かの機能を発動するのだろうなあということをすぐさま連想させる.非常に基本的で(それが伝わるかは別問題として)制作者としては使いやすいインターフェイスである. ボタンらしい動作を設…

環境を選ぶこと

これは完全に余談である.私が現在(07年11月)使っている環境は SharpDevelop1.1 Visual C# Express Edition SharpDevelop2.1(beta3) Visual C#と高い互換性,monoにも対応 また,コマンドラインツールとして csc(MS Visual C# Compiler) mono(Mono Pro…

長い一言

読んでくれている人を見ていない事に気付く いやまあ,身内も,そうでない人を含めても読者数が極めて少ないだろうと思っている.それに基本的なスタンスは「自分が後で見て役に立つメモ」のつもりで書いているので,ある程度突き放した物言いで進めている.…

LinkLabelの使われ方

linkLabel1を作って例えば,リンクの色を 未訪問(デフォルト) Blue 訪問済み(Visited) Yellow クリック中(Active) Red などとして(てきとー)クリックしたときの動作をプログラムしてやる //Linkをクリックしたとき void LinkLabel1LinkClicked(object send…

リンクを作る(LinkLabel)

LinkLabelは,大まかな機能だけ見ればLabelと大差なくて.LinkLabelを使えばURLを指定しただけでブラウザが開いて,,,なんて機能は無い.それは自分でプログラミングする必要がある.ただ,Visitedなときの色,Invalidなときの色が設定可能である.技術的…

リンクを作る(導入編)

リンクといってもなんのことはない,ただのテキストである.と思っていたが,よく考えると画像にリンクという選択肢もあったし.色が変わるとかあまりに普通すぎて忘れていたよ.細かい機能も実装しないといけないんだよね,わかりやすさのためには. もちろ…

寒い

寒くなりました. そんなことは知っているだって!? ところが,蚊が出ます 実話です.なぜだ.

マルチディスプレイとのつきあい方

両方を同時に見ることは出来ないので、片方を参照用、もう片方を作業用に使う。 クローンディスプレイを使って同じ画面を出す(グラボドライバのソフトで設定が必要) 工夫して2つ以上の画面を一つの画面として使う など。

マルチディスプレイのとき使えるソフト

MultiMonitor TaskBar マルチディスプレイのサブディスプレイにもタスクバーを表示するソフト。暗に、マルチディスプレイではサブディスプレイにタスクバーが表示されないことを示している。使い方によってはタスクバーが無いことを不便に思うわけで、導入し…

マルチディスプレイの実現

正直これを見れば出来てしまうのでまずこちらをどうぞ。 ITmedia マルチディスプレイ短期集中連載(第一回)で以下、試してみた結果を含めてまとめ マルチディスプレイには、2つ以上のディスプレイが必要(当然) ノーパソなら、外部ディスプレイが1つ以上。 …

きっかけ(これはヒトリゴトです)

普段はノーパソをメインに使っている。そして2年前に作った自作PCは現在ほとんど使われていない。(LANとネットが諸事情あって使えない、というか使えるようにしていないのが原因)そのとき買った液晶ディスプレイは、今年の7月ごろまでアプコンを使ってゲ…

==とEquals

全てのクラスはObject型を継承している。また、Object型にはvirtualな関数としてEqualsが定義されている。従って、全てのクラスはEqualsをオーバーライド出来る。MSDNにおいて、==とEqualsの使い分けガイドラインによれば 演算子==は、「参照の一致」を示す…

Nullable(ぬらぶる)

C#

とりあえず響きだけ覚えておけばいいと思います。ぬらぶるぬらぶる あと、実用的には、"Nullable"ないし"型名 + ?"と書かれた引数はNullでもよい、ということを覚えればさしあたっては問題ありません。 本来Null値をとれない型に対してNullをとれるようにす…

コンストラクタのオーバーロード(ループ)

書き忘れていたけどコンストラクタはオーバーロードできる。まあ、TestClass()とTestClass(int n)が共存していてもコンパイル出来るのはオーバーロードだから察してください。ちなみに、呼び出しがループすると、プログラム自体がStackOverflowExceptionで落…

コンストラクタ引数の初期値

C#

コンストラクタ引数に初期値は設定できない。けれど、あたかも初期値を指定しているかのような処理を行うことが可能である。ということが書かれた記事がこれ。 第11章 コンストラクタとデストラクタ (1/3):連載 改訂版 C#入門 - @IT初期値を用意したい場合…

デフォルトでないコンストラクタ

コンストラクタを用意すると、デフォルトコンストラクタは無いものと見なされる。もし忘れて居るとコンパイルエラー。 class TestClass{ private int num; public TestClass(int n){ num = n; } } ,,, TestClass tst1 = new TestClass(1); TestClass tst2 = …

同時進行中

C#の方が好きだ。C++は合わない。けれど、授業はC++なんですよね、これが。ご勘弁 そして今日のエントリはC#ばかり。

メンバー変数(宣言と利用)

メンバー変数は、クラスの「持つ」変数である。 class CMyClass{ private: int id; public: int data; }; ここで変数idと変数dataはCMyClassのメンバー変数である。 そして変数idはプライベート変数であり、クラスの内部からしか変更できない。(つまり、idを…

クラスの宣言(基礎)

クラスを宣言する、だけなら class CMyClass{}; でよし。セミコロン必要。CMyClassは宣言するクラス名。{}の中に、データを保存するメンバー変数やメンバーや渡されたデータを操作する関数を用意することができる、それがクラス。ただ、それだけならC++は構…

バランス

人に見られることを前提に書いている 主に自分用のメモとして使っている(実は) このサイトを知っている「関係者」がすでにいる このサイトをまだ知らない(と思われる)「関係者」がいる そして、自分の中でブログの記事を書くルール(立場など)が確立し…

実体はどこだ

C#ではGC(ガベージコレクタ)を言語が持っているので、newしたあと、明示的にdeleteなりfreeなりをする必要がない。これは便利。速度もそれほど気にならず。というか気にするほどタイトなコードを書いておらず。 C++をさわったとき、newしたオブジェクトを受…

VC#EEのIntelliSense

自動で括弧とじのバランスを調節してくれる機能と、自動補完がやたら便利だった。この自動調節が趣味に合わないという人はちょっと損をしていると思う。(10/9追記) よく考えると、IntelliSenceってVisual Studioに限ればC++,C#共通なんじゃないか?しかし、V…

PixelShaderが必要です

ノートパソコンで実行しようとして失敗。原因は「PixelShader1.1 or latter」が利用できないといけないから、なんだとか。ビデオカードを変えろってか。

クラスのアクセス指定子

C++はついさっきから必要性に迫られてさわっている。この2週間、C#言語ばかりさわっていたせいだろう、どうもその違いに慣れることが出来ない。しかし慣れないと死活問題なので(個人的にね)違いを列挙してみる。とはいえ、、、一次ソースを辿っていないの…

2週間の空白

忙しかったんですがプログラミングが多かったのでそこら辺のメモをまとめておくことにした、、。