喫茶XRAYトップページ
[
スレッド全体
]
[8055]
ネタ元 スーパーサイヤ人?
返信
削除
2014/10/3 (金) 18:17:35
Mr.XRAY
> ポップアップメニュー(TPopupMenu) の Item を文字列ではなく,
> 画像にする例です.
大体まとまったので.ネタ元の紹介です.
http://
hpcgi3.
nifty.
com/
e-
papy/
DelphiBB
S/
wwwlng.
cgi?
print+
201410/
14100001
.
txt
テスト用のプロジェクトのソースがダウンロードできるようですが,
クリックしたら変な画面なのでやめました (^^;
Okiitan なんてのが付いてくるかも知れないので(笑)
どなたか勇気のある方がやってみて,大丈夫だったら挑戦してみます.
それにしても「超高校生級の初心者」ですか,
「スーパー高校生級」だけど初心者ですか?
昔,「スーパーサイヤ人」というのが登場するアニメがありましたが...
「スーパーマン」とかね....
[8056]
スーパーサイヤ人
返信
削除
2014/10/3 (金) 18:33:51
Mr.XRAY
> 昔,「スーパーサイヤ人」というのが登場するアニメがありましたが...
確認してみました.
[サイヤ人 - Wikipedia 超サイヤ人]
http://
ja.
wikipedi
a.
org/
wiki/%
E3%
82%
B5%
E3%
82%
A4%
E3%
83%
A4%
E4%
BA%
BA#.
E8.
B6.
85.
E3.
82.
B5.
E3.
82.
A4.
E3.
83.
A4.
E4.
BA.
BA
[8057]
Re:ネタ元 スーパーサイヤ人?
返信
削除
2014/10/3 (金) 18:35:06
igy
▼ Mr.XRAYさん
> それにしても「超高校生級の初心者」ですか,
超高校級とは - はてなキーワード - はてなダイアリー
http://
d.
hatena.
ne.
jp/
keyword/%
C4%
B6%
B9%
E2%
B9%
BB%
B5%
E9
他の人から言われるのは、わかりますが、自分で名乗るのは・・・
[8058]
Re2:ネタ元 スーパーサイヤ人?
返信
削除
2014/10/3 (金) 18:43:39
Mr.XRAY
▼ igyさん
> 超高校級とは - はてなキーワード - はてなダイアリー
>
http://
d.
hatena.
ne.
jp/
keyword/%
C4%
B6%
B9%
E2%
B9%
BB%
B5%
E9
ハハハッ.Delphi を使う人にもすごい人がいるんですね(半可通)
[8061]
勇気のある人いませんか?
返信
削除
2014/10/4 (土) 18:50:25
Mr.XRAY
>大体まとまったので.ネタ元の紹介です.
>
http://
hpcgi3.
nifty.
com/
e-
papy/
DelphiBB
S/
wwwlng.
cgi?
print+
201410/
14100001
.
txt
>テスト用のプロジェクトのソースがダウンロードできるようですが,
>クリックしたら変な画面なのでやめました (^^;
>Okiitan なんてのが付いてくるかも知れないので(笑)
>どなたか勇気のある方がやってみて,大丈夫だったら挑戦してみます.
勇気と度胸のある人いない?
「超高校生級」というのに興味を持ったのでレスしようと思っているんですが (^^;
[8062]
Re:勇気のある人いませんか?
返信
削除
2014/10/4 (土) 21:08:26
Mr.XRAY
清水の舞台から飛び降りるつもりでダウンロードしてみました.
特に問題は発生していません(^^;
Delphi 7 以前のコードのようです.
質問の文章にあった MenuChanged を使用してる部分が分かりました.
Timer1 イベントのコードを書きかえれは,チラつかなくなるようです.
動作確認は Windows 7 U64(SP1) + Delhpi XE(UP1) Pro です.
procedure TformMain.Timer1Timer(Sender: TObject);
var
...
...
hPopupWnd : HWND; //追加
Flags : Cardinal; //追加
begin
...
...
// mi.MenuChanged(True); //削除.本人も激しくチラつくと書いている
hPopupWnd := FindWindow(PChar(#32768), nil); //追加
Flags := RDW_INVALIDATE or RDW_UPDATENOW; //追加
RedrawWindow(hPopupWnd, nil, 0, Flags); //追加
end;
end;
「超高校生級」でも難問だったようですが
問題が発生したら,いろいろ調べてみることですね.
MenuChanged は構造の変更があった場合なので,ウィンドウの更新ではなく,
全て再作成ということでしょう.
[Vcl.Menus.TMenu.MenuChanged - RAD Studio API Documentation]
http://
docwiki.
embarcad
ero.
com/
Librarie
s/
XE7/
ja/
Vcl.
Menus.
TMenu.
MenuChan
ged
こんなやつです.
TPanel 上の TPaintBox に描画している画像を TPopupMenu に表示するようです.
というか,TPanel のイメージを TMenuItem の Canvas に描画しています.
[8063]
RedrawWindowの効果
返信
削除
2014/10/5 (日) 13:00:12
Mr.XRAY
プロジェクトをダウンロードして,Delphi を起動して確認するのは面倒だ.
という方に,MenuChanged と RedrawWindow による違いを確認できるように,
実行ファイル (EXE) だけを UP しておきました.
興味のある方はどうぞ.
Windows 7 U64(SP1) + Delphi XE(UP1) Pro で作成しています.
http://
mrxray.
on.
coocan.
jp/
Delphi/
zip/
PopupMen
u_ImageI
tem_Qand
A.
zip
[8064]
FindWindow の引数を修正
返信
削除
2014/10/5 (日) 20:02:49
Mr.XRAY
> hPopupWnd := FindWindow(PChar(#32768), nil); //追加
まずい!!
引数で PChar の使用方法には要注意ですね.
一応期待通り動作はしますが...
既に UP しているファイルも以下に修正しました.
ついでに,少しコードの一部も修正・変更しています.
hPopupWnd := FindWindow('#32768', nil); //追加
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.82