|
|
2009/10/8(Thu) 19:24:03|NO.28196
題名のとおり、色つきを引きたいんです。
Warld Excelとかで、最初に出る絵、
あれに使おうと思ったんですが、
やり方がわからなくて・・・
bgscrでウインドウに絵画するんじゃなくて、
スクリーンに絵画したいんです。
できれば、プラグイン無しでやりたいので、
だれか、教えてください!
|
|
2009/10/8(Thu) 20:48:37|NO.28200
色付きのボールペンじゃだめですか?
|
|
2009/10/8(Thu) 21:25:04|NO.28201
足利超神さん・・・
どういう意味か教えていただけますか?
|
|
2009/10/8(Thu) 21:52:34|NO.28202
質問内容がぼやけて良く分からない。
ソフト起動時の絵そのものなら、ペイントで描けばいいし
プログラムでなら、もう少しどういうのか分からないと・・・。
|
|
2009/10/8(Thu) 22:16:59|NO.28204
勘違いしてました、
ひょっとしてExelのイルカみとをいってるん\>syslinuでしょうか?
|
|
2009/10/8(Thu) 22:20:36|NO.28205
#uselib "user32.dll"
#cfunc GetDesktopWindow "GetDesktopWindow"
#cfunc GetDC "GetDC" int
#func ReleaseDC "ReleaseDC" int, int
#uselib "gdi32.dll"
#func Polyline "Polyline" int, var, int
#func MoveToEx "MoveToEx" int, int, int, int
#func LineTo "LineTo" int, int, int
#define NULL 0
wait 100
hwnTarget = GetDesktopWindow()
hdcTarget = GetDC(NULL)
slx = 0 : sly = 0 : elx = 1000 : ely = 1000
point = slx, sly, elx, ely
MoveToEx hdcTarget, slx, sly, NULL
LineTo hdcTarget, elx, ely
ReleaseDC hwnTarget,hdcTarget
↑こんな感じで線を引くつもりです。
これに色をつける方法がわからないので教えてほしいです。
お願いします。
|
|
2009/10/8(Thu) 22:21:24|NO.28206
参考になるかは不明ですが、
MS Wordの起動画面をスクリプトで再現してみました。
半分遊んでいますw
// MS Word 2007 起動画面もどき(ぜんぜん似てない)
// マニュアルどおりの動作にするため gradf 改良版
#define gradf2(%1,%2,%3,%4,%5,%6,%7) gradf %1,%2,%3-%1,%4-%2,%5,%6,%7
// 何回か使うので色を定義
#define OC1 0xffcf52
#define OC2 0xfff7de
#define RC1 0xce1000
#define RC2 0xef8600
#define BC1 0x1869b5
#define BC2 0x8cd7e7
#define YC1 0xfff7ce
#define YC2 0xf7a610
#define GC1 0xadd752
#define GC2 0x421729
bgscr 0,422,222,,(ginfo_dispx-422)/2,(ginfo_dispy-222)/2
gsel 0,2:redraw 0:color 0xFF,0xA6,0x10:boxf
gradf 1,1,420,220,0,OC1,OC2
color 0x31,0x30,0x18
pos 350,10:font "Arial",13,19:mes "Microsoft"
pos 132,70:font "Arial",12,17:mes "Microsoft(R)"
pos 128,82:font "Arial",30,16:mes "Office Word"
pos 292,90:font "Arial",20,17:mes "2007"
pos 94,180:font "Arial",11,0
mes "(C) 2006 Microsoft Corporation. All rights reserved."
gradf2 84,63,104,82,1,RC1,RC2
gradf2 108,70,120,82,1,BC1,BC2
gradf2 84,86,104,105,0,YC1,YC2
gradf2 108,86,125,102,0,GC1,GC2
gradf 100,78,4,4,1,RC1,RC2
gradf 108,78,4,4,1,BC1,BC2
gradf 100,86,4,4,1,YC1,YC2
gradf 108,86,4,4,1,GC1,GC2
gradf2 88,66,100,78,0,OC1,OC2
gradf2 112,74,116,78,0,OC1,OC2
gradf2 88,89,100,102,0,OC1,OC2
gradf2 111,90,121,98,0,OC1,OC2
//斜体フォントのため再描画
redraw
wait 500
end

| |
|
2009/10/8(Thu) 22:21:30|NO.28207
>Warld Excelとか
…っていうのがまずよく分かりませんが多分 Word や Excel のことですよね。
で、「最初に出る絵」とは起動時にしばらく表示されるもののことですよね。
(アレはスプラッシュスクリーンと呼びます。)
基本的に、画面に出てくるものはみんなウインドウとその内容物です。タスクバーもデスクトップもなにもかも。
WordやExcelなどの、最初に出る絵も例外ではありません。アレもれっきとしたウインドウです。
HSPでやるなら、bgscr命令で作ったウインドウを使うことになるでしょう。
|
|
2009/10/8(Thu) 22:36:23|NO.28209
色をつけるには CreatePen を使います。
#define ctype RGB(%1,%2,%3) (((%1) | ((%2) << 8) | ((%3) << 16)))
#define NULL 0
#uselib "user32.dll"
#cfunc GetDesktopWindow "GetDesktopWindow"
#cfunc GetDC "GetDC" int
#func ReleaseDC "ReleaseDC" int, int
#uselib "gdi32.dll"
#func Polyline "Polyline" int, var, int
#func MoveToEx "MoveToEx" int, int, int, int
#func LineTo "LineTo" int, int, int
#cfunc CreatePen "CreatePen" int,int,int
#func SelectObject "SelectObject" int,int
#func DeleteObject "DeleteObject" int
wait 100
hwnTarget = GetDesktopWindow()
hdcTarget = GetDC(NULL)
slx = 0 : sly = 0 : elx = 1000 : ely = 1000
point = slx, sly, elx, ely
MoveToEx hdcTarget, slx, sly, NULL
//色ペンを作る
hPen=CreatePen(0,0,RGB(0xFF,0,0))
SelectObject hdcTarget,hPen
LineTo hdcTarget, elx, ely
DeleteObject hPen //使い終わったら削除
ReleaseDC hwnTarget,hdcTarget
|
|
2009/10/8(Thu) 22:46:44|NO.28211
inoviaさん参考になりました。ありがとうございました。
ところで、その再現されたやつの大きさは、
どうやって変えるんですか?教えてください。
|
|
2009/10/8(Thu) 22:48:33|NO.28212
すいません。
スクリプトをよく読んでませんでした。
さっきのコメント、ナシでお願いします。
|
|
2009/10/8(Thu) 22:50:14|NO.28214
遅かったか…
|
|
2009/10/9(Fri) 22:23:29|NO.28237
ところで、タスクバーに表示させないようにはできるんですか?
|
|
2009/10/9(Fri) 22:54:45|NO.28239
|
|
2009/10/9(Fri) 23:35:13|NO.28241
inoviaさん、だいたいやりたいことができました。
どうもありがとうございました。
|
|