HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1008
P2Pスクリーンに色の付いたラインが引きたい!15解決


P2P

リンク

2009/10/8(Thu) 19:24:03|NO.28196

題名のとおり、色つきを引きたいんです。
Warld Excelとかで、最初に出る絵、
あれに使おうと思ったんですが、
やり方がわからなくて・・・
bgscrでウインドウに絵画するんじゃなくて、
スクリーンに絵画したいんです。
できれば、プラグイン無しでやりたいので、
だれか、教えてください!



この記事に返信する


足利超神

リンク

2009/10/8(Thu) 20:48:37|NO.28200

色付きのボールペンじゃだめですか?



P2P

リンク

2009/10/8(Thu) 21:25:04|NO.28201

足利超神さん・・・
どういう意味か教えていただけますか?



Ve

リンク

2009/10/8(Thu) 21:52:34|NO.28202

質問内容がぼやけて良く分からない。

ソフト起動時の絵そのものなら、ペイントで描けばいいし
プログラムでなら、もう少しどういうのか分からないと・・・。



足利超神

リンク

2009/10/8(Thu) 22:16:59|NO.28204

勘違いしてました、
ひょっとしてExelのイルカみとをいってるん\>syslinuでしょうか?



P2P

リンク

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

↑こんな感じで線を引くつもりです。 これに色をつける方法がわからないので教えてほしいです。 お願いします。



inovia

リンク

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



SYAM

リンク

2009/10/8(Thu) 22:21:30|NO.28207

>Warld Excelとか

…っていうのがまずよく分かりませんが多分 Word や Excel のことですよね。
で、「最初に出る絵」とは起動時にしばらく表示されるもののことですよね。
(アレはスプラッシュスクリーンと呼びます。)

基本的に、画面に出てくるものはみんなウインドウとその内容物です。タスクバーもデスクトップもなにもかも。
WordやExcelなどの、最初に出る絵も例外ではありません。アレもれっきとしたウインドウです。
HSPでやるなら、bgscr命令で作ったウインドウを使うことになるでしょう。



inovia

リンク

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



P2P

リンク

2009/10/8(Thu) 22:46:44|NO.28211

inoviaさん参考になりました。ありがとうございました。
ところで、その再現されたやつの大きさは、
どうやって変えるんですか?教えてください。



P2P

リンク

2009/10/8(Thu) 22:48:33|NO.28212

すいません。
スクリプトをよく読んでませんでした。
さっきのコメント、ナシでお願いします。



inovia

リンク

2009/10/8(Thu) 22:49:51|NO.28213

> ところで、その再現されたやつの大きさは、
> どうやって変えるんですか?教えてください。

線の太さのこと?

hPen=CreatePen(0,太さを指定,RGB(0xFF,0,0))

詳しくは下記を見てください。
http://msdn.microsoft.com/ja-jp/library/cc428348.aspx



inovia

リンク

2009/10/8(Thu) 22:50:14|NO.28214

遅かったか…



P2P

リンク

2009/10/9(Fri) 22:23:29|NO.28237

ところで、タスクバーに表示させないようにはできるんですか?



inovia

リンク

2009/10/9(Fri) 22:54:45|NO.28239

> ところで、タスクバーに表示させないようにはできるんですか?

ググったら一番最初に出てきたモノ
http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200509/05090013.txt



P2P

リンク

2009/10/9(Fri) 23:35:13|NO.28241

inoviaさん、だいたいやりたいことができました。
どうもありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.