2006年11月26日日曜日

コンボボックスのダブルクリック

色々調べてようやっとコンボボックスのダブルクリックを拾えるように。

実はダブルクリックについては、PC上の設定さえ拾っていれば問題なくできるとはつかんでいたのでそう難しい話ではなかったんだよね。んじゃあ、なんで今まで実装しなかったか、というと。

アンマネージドな方法しか知らなかったから

せっかく.NetFrameWorkなんだからできるかぎりマネージドな方法で行きたいと思っていたからで、最近になってようやっと資料が見つかったのよ。おかげでなんとかダブルクリックのイベントを拾うことが・・・というよりダブルクリックされたと判断することができるようになったんだよね。

しかしSystemInformationクラス周りはmsdnくらいしか情報なかったのって、結構厳しいねぇ。そのうち色々なサイトで出てくるとは思うけど。

2006年11月15日水曜日

DataGridViewを久々

気がつくとDataGridViewでKeyDownイベントを利用してEnterキーをトラップするロジックが動作していなかった。

まぁ理由は簡単でProcess~系のメソッドをオーバーライドして、Enter押下で次のセルまたはコントロールへ移動するように手を入れていたからなんだけど。今回はProcessDataGridViewKeyメソッドのオーバーライドにて対応しているんだけど、この中で意図的にKeyDownイベントを発生させようとすると「派生したクラスから継承元のイベントを発生させることはできません」というエラー。

あらそうですか、ということでなんとか対応してみたけど、こういう時ってOnKeyDownメソッドをコールするのが正解なんだろうかねぇ・・・。どうにもOn系統のメソッドっていまいちつかみにくい。

2006年11月13日月曜日

後継者

この仕事を続けるほどに思うんだけど、後を継いでくれる人材ってのがとても不足しているんだよねぇ。システムの仕様、という点ではあまり心配してないというか、それはドキュメントしっかり残せば済む話だけど。

テクニカル的な点というか、ドキュメントで引き継げない点がやっぱり悩みだな。こればっかりはとにかく時間をかけるしかない、ってのが今の自分の考え方なんだけど、会社としてはそこまで重要視してないってのが問題でねぇ・・・。

そうやってきた結果、今のように中堅層がごっそりといない状態なんだけどなぁ。

2006年11月7日火曜日

にょろかっこ

今日はWPFのセミナーを受けてきたんだが、その中でも微妙なヒットした言葉がこれ。「 {} のことなんですが私はこう呼んでいます」って、いいのかそれで(w

なんというか中括弧という言葉は実は一般的じゃないのか、と逆に不安になったよ。どうにもネガティブな気持ちが続いていた中で、ちょっとした清涼剤というか。

2006年10月28日土曜日

技術者として

ここ最近色々なことで頭を使っているけど、結構大きいウエイトを持っているのはこの話題。簡単に言えば、これから先に自分が目指す方向な話なんだけど・・・。

同僚にはPGである程度やった後にSEになりたい、という人間が多い。実際自分も以前はそんな感じだったし。でも、今はSEにはあまりなりたいと思っていないのよねぇ。正直SEよりもアーキテクターな方向が自分にとってベストかなぁ、と思うし。

ただ、現状として北海道ではそんな職種は大手にしかないね。それと中小な環境だとPGが育ってSEになるという、ある意味幻想がまだまだ根強い。自分は他の人に教えているときに、必ず「PGとSEは別の職業だし異なる知識がいる」と説明している。プログラムが書けたからといって、システムの設計ができると思うのがつじつまが合わないんだけどねぇ・・・。

PGとして経験を積んでSEっぽく働くことが出来るとしたら、それは今まで上についていた人のコピーとしてSEっぽくできるだけ。厳しい言い方だけど、それほどはずれてはいない(ハズ)。特にここ最近ではかけていい時間が少なくなっているから、経験よりも体系だった知識がまずは必要だと思う。そうでなければ、結局はSEっぽい人間が量産されてしまうだけだよなぁ・・・と。

だからこそあえて、自分としてはSEではなくアーキテクタな道を目指したい。

2006年10月19日木曜日

キャッシュ機能

わけあってデータクラスにキャッシュ機能を実装することに。

というのも、色々考えた結果更新制御を行う場合、それぞれのAPに実装してもらうよりもデータクラス側で実装してあげれば、保守性においていいんじゃないかな、って理由なんだけど・・・。

結構自爆してるかも知れない。

ちょっと早めにテストしないとマズイかもなぁ。

2006年10月14日土曜日

ダメ押し

やはりElTabelle。試行錯誤していた結果、レイアウトとして作成するテンプレートクラスでは、Objectとして受け渡すことが出来たとしてもその情報を保持しているとは限らなかったのが判明・・・。実際はテンプレートだけでなく、全体的になんだけど。

個人的な意見なんだけど、Objectとして渡された物を勝手に変換するのはどうよ?、と思っているのよね。コンボボックスにaddしたものと、Itemsから拾ってきた物が違っていたら結構困ると思うんだけどなぁ・・・。レスポンスとかの問題なんだろうけど。

結局テンプレ情報から自前で保持領域を確保しないといけない事に。んー、テンプレとセルの書式が異なる場合は結構おてあげかも知れない。汎用的なのを諦めて、デザインに制限つけるしかないかな?

2006年10月11日水曜日

ElTabelle・・・んーむ

なんですかコイツのコンボボックスと拡張コンボボックスは。

ヘルプにある「通常のコンボボックスと同様に利用できます」って全然違うじゃないデスカ!

感覚的にはVB6までのコンボボックスなんだよなぁ、これ。.Netに移ってようやっとAddするのはクラスのインスタンス、ってところに慣れ親しんだのに。

いや、だからってダメじゃないし気持ちは分かるんだが(w

今回はそのあたりのコーディングも統一しようとしてるからねぇ・・・。ちょっと苦労しそうな予感。

2006年10月6日金曜日

あれれ?

ElTabelle続行中。

今日の問題はOnEnterをオーバーライドして独自イベントを発生させた際に、BaseGridライブラリ(ElTabelleのライブラリ)でぬるぽが発生してしまっていた。なにか悪い事をやっているからとは思うんだけど、いかんせんなにが悪さしているかがさっぱりおっかけれない。Exception見ても全然情報載ってないんだよねぇ・・・。
まぁ、来週中にどうにかしないとなぁ。

それともう一つ困っているのが、ComboBoxコントロールでどうやったらDoubleClickをイベントとして拾えるか、だな。ComboBoxコントロール自体はDoubleClickイベントは発生しないものなんだけど、色々事情があって今回は拾いたいのよね。どこかでメッセージが捨てられているのかな、とおもってWndProcを調べてみたけどメッセージ自体届いていなかった。このあたり知識が足りないから、なぜ届かないのかが全然判ってない。

しかしComboBoxってMouseDoubleClickイベントもあるんだけど、こいつはどうやったら発生するんだろう・・・?

2006年10月3日火曜日

またElTabbleか!

ElTabbleのラッパークラスと格闘中。しかしなんというか、調べれば調べるだけ、自分と肌が合わないコントロールなことで・・・。なんというか、「そのまま使うことを前提としてます」というコントロールだからなんだろうけどねぇ・・・。

とりあえず、DragDropでの行並び替えと、コンテキストメニューからの行削除は実装して、共通イベント制御へと流すところまではOKになったから、実用には耐えられるんだけどね。

あとはキー制御と色周り・・・色はあたりをつけてあるからいいけど、問題はキー制御だなぁ。