C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: ステータスバーに文字列を表示する方法


(過去ログ 114 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■67247 / inTopicNo.1)  ステータスバーに文字列を表示する方法
  
□投稿者/ ともりひでよし (1回)-(2013/07/19(Fri) 09:13:21)

分類:[C/C++] 

こんにちは

MS VC++2010でwindowsアプリを開発していますが。
生成したwindowの下のステータスバーに文字列を表示したいですけれども、
どんな関数を利用すべきでしょうか。
それから、ステータスバーに表示される文字列を移動的に表示する方法はありますか。
そして、ステータスバーに表示される文字列を点滅やきらめかせて行ないたいですが、可能でしょうか。


引用返信 編集キー/
■67250 / inTopicNo.2)  Re[1]: ステータスバーに文字列を表示する方法
□投稿者/ とっちゃん (128回)-(2013/07/19(Fri) 10:26:55)
とっちゃん さんの Web サイト
No67247 (ともりひでよし さん) に返信
> こんにちは
>
> MS VC++2010でwindowsアプリを開発していますが。
> 生成したwindowの下のステータスバーに文字列を表示したいですけれども、
> どんな関数を利用すべきでしょうか。

MFCを使っていますか?それとも別のフレームワークを使っていますか?
もしくは、プレーンに直接プロシージャを記述ですか?

Windows のアプリケーション開発はそこで利用するフレームワーク等によって実現方法が大幅に変わります。
MFCなら、CStatusBar クラスをカスタマイズする(後述部分を実現するのなら、派生クラスがいいでしょう)形に
なりますが、ほかのフレームワークの場合は別のクラス名で同様のことを実現する場合もあれば、
何らかの通知メッセージを受けて自由に書き込みということもあります。


> それから、ステータスバーに表示される文字列を移動的に表示する方法はありますか。
> そして、ステータスバーに表示される文字列を点滅やきらめかせて行ないたいですが、可能でしょうか。
>
移動的にというのは、自動的に右から左(逆でもいいですが)に文字列が流れていくようなものでしょうか?
点滅は、つけて消して。。。ですが、きらめかせて。。。とは?

時間経過による描画状態の変化は、タイマー(WM_TIMERなど)+変化した状態での再描画が基本となります。
具体的にどういう形で記述するか?は、前述のフレームワークの影響もうけますが、
基本は、新しい位置に新しい情報を書き込み古いものは消す(操作順ではありません)となります。

引用返信 編集キー/
■67259 / inTopicNo.3)  Re[2]: ステータスバーに文字列を表示する方法
□投稿者/ ともりひでよし (2回)-(2013/07/19(Fri) 12:51:38)
ご返答ありがとうございます。
丁寧な解説勉強になりました。

ただ、MFCを使いたくないで、windows API関数ありますか。


また宜しくお願い致します。

引用返信 編集キー/
■67262 / inTopicNo.4)  Re[3]: ステータスバーに文字列を表示する方法
□投稿者/ とっちゃん (130回)-(2013/07/19(Fri) 14:06:50)
とっちゃん さんの Web サイト
No67259 (ともりひでよし さん) に返信
> ただ、MFCを使いたくないで、windows API関数ありますか。
>
MFCを使っているかどうかで親となるステータスバーの実態がある程度把握できるために聞いただけです。

残念ですが、点滅するテキストや、移動するテキストは、MFCに限らずAPIとしては存在しません。
なので、表示するコントロールが何かによらず、自力で描画となります。


ステータスバーの実装がどうなっているか?にもよりますが、コモンコントロールのモノなら
ステータスバーの描画したい領域に子ウィンドウを張り付けて(サイズ等々は、SBM_GETRECTで判断できる)
そこで好き勝手描画するという形になります。

ちなみに、MFCの場合も同様です(MFCのステータスバー(CStatusBar, CStatusBarCtrl)も実態は、コモンコントロールのため)。

それ以外の場合は、そのウィンドウの特性に合わせて、描画メソッドがあればそこで
そうではなく、お仕着せの描画機能しか持っていないのであればウィンドウを作るなどで対応となります。

これ以上細かいことについては、より具体的に質問してください。

ステータスバーも実際にどういうものを使っているかがないと、具体的な解決案は出てきませんよ。
実現したい内容からは、独自にステータスバーウィンドウを作るのが一番ローコストのように感じます。
全貌が見えてるわけではないので、わかりませんけどね。

引用返信 編集キー/
■67274 / inTopicNo.5)  Re[4]: ステータスバーに文字列を表示する方法
□投稿者/ ともりひでよし (3回)-(2013/07/20(Sat) 11:49:44)
良く分かりました。

どうもありがとうございました。


解決済み
引用返信 編集キー/
■67275 / inTopicNo.6)  Re[5]: ステータスバーに文字列を表示する方法
□投稿者/ daive (12回)-(2013/07/20(Sat) 14:28:06)
2013/07/20(Sat) 14:44:47 編集(投稿者)
2013/07/20(Sat) 14:44:42 編集(投稿者)

分類:[C/C++] ですので、全く、明後日の方向かもしれませんが、
検索ワード
News Ticker
Ticker
電光掲示板
これらと、VB 、 C sharp などの語を組み合わせると、
日本のサイトでなく、海外サイトに
Ticker の情報が、散見されます。
sourceforge.jp には、 News Ticker Component .net があります。
The Code Project などにも、ある様子。

昔々は、ActiveThreeD Plus(BOC時代のグレープシティ)を、
アニメーション機能を持った、OCXコントロールとして使っていましたが、
会社が、Infragistics になって、廃版となっています。
(VB6時代は、SSコントロールだったかな。)
ActiveThreeDを使う前は、RichTextを使って、点滅、スクロールは工夫して
やってましたっけ。(ActiveX DLLだったはず)
Managed Direct-X ( DirectDraw、Direct3D)、XNAは、機能を作る必要があるし、先行き不安。
SlimDXは、どうなんだろう。

ステータスバーとの事で、大きさが厳しいので、
代替手段にならないですが、安直には、
Flash を使う、WebBlowser コントロールを使う(IE限定の Marquee / JAVAScriptで Blinkを作る)
辺りは、現在でも使用可能です。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -