- PR -

言語バーのような常に手前に表示できるプログラムを作りたいですが

1
投稿者投稿内容
Chumomo
常連さん
会議室デビュー日: 2005/03/04
投稿数: 33
投稿日時: 2005-04-20 11:23
分かりやすいように、その作りたいプログラムを「PP」とよばせていただきます。
具体的には、
1.常に手前表示できる(簡単に実現できると存知しております)
2.言語バーのように、ほか実行しているテクストエディタとかから出て、PPのフォームをクリックしても、テクストエディタがLostFoucsしない状態を保存したいです。
3.PPのボタンを押すことにより、テクストエディタとかの実行中のプログラムに、切り取り、コピー、貼り付けなどの操作を行いたいです。

ちょっと面倒くさいですが、ユニークなインフォをお願いします~
いっこさん
ベテラン
会議室デビュー日: 2003/07/03
投稿数: 67
投稿日時: 2005-04-20 11:38
こんにちわ。
#結局何が聞きたいのかがわかりかねますが。
1に関しては常に手前に表示
_________________
Chumomo
常連さん
会議室デビュー日: 2005/03/04
投稿数: 33
投稿日時: 2005-04-20 11:46
トージさんご返信ありがとう~

要するに、言語バーのような、どんなプログラムにも適用できるpmを作りたいので、APIの知識必要だと思いますが、どのApi関数が必要だかわかりませんから。
ya
大ベテラン
会議室デビュー日: 2002/05/03
投稿数: 212
投稿日時: 2005-04-23 16:10
ようはアクティブにならずにユーザーとマウスで対話できるWindowが作りたいんですよね?ソフトウェアキーボード等の。
掲示板だけで解説できるほど簡単ではないので概要だけ。

MouseでクリックされてWindowがアクティブになる場合、WM_MOUSEACTIVATEメッセージがとんできます。このメッセージの処理でMA_NOACTIVATEANDEATを返すとアクティブにならずに以降のマウスメッセージをすべて破棄します。これを利用すると「MouseDownでアクティブにならないWindow」を作ることが出来ますので、後は適当に処理を組み込んでください。
それと、Winformsでは表示時にアクティブにしないような機能がないので、その部分もShowWindowを使って、実装する必要もあります。VBPowerPackのNotificationWindowあたりにShowNoActiveってメソッドがあった気がするのでその辺でも参考にしてください。具体的にはShowWindowで表示した後Controlの状態を更新させればいいです。

…ただまじめにやるとめんどいので普通に処理が終わった後にテキストエディタのFormをアクティブにするような方向にしたほうがいいのでは?
Chumomo
常連さん
会議室デビュー日: 2005/03/04
投稿数: 33
投稿日時: 2005-04-25 09:08
yaさん、ご返信ありがとう^-^
1

スキルアップ/キャリアアップ(JOB@IT)