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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0402
匿名希望エデイットコントロールのルーラー付加11解決


匿名希望

リンク

2007/4/2(Mon) 00:36:34|NO.6811

エデイットコントロール(mesboxなど)にルーラーを付加するには
どうすればよいでしょうか。
行き詰ってしまったので教えてください。
なお、今父のコンピューターから書き込んでいるので、e-mailなんて書けません。
それに、自分のコンピューターもホームページも持っていないので、これで勘弁してください。



この記事に返信する


ゆちボン

リンク

2007/4/2(Mon) 14:16:48|NO.6831

メッセージを取得して(wm_editctlだっけ。もうちょい長いメッセージ)を取得して、
msgboxのhdcに直接行数を書き込むだけです。

(別言語ですが)
ABで作ったエディタはそんな風にしてあります。
http://www.geocities.jp/yutibonsoft_jp92/software.html
青アナHTMLeditorなんてそんな感じです。(まさにそのものなんですが)



匿名希望

リンク

2007/4/4(Wed) 22:39:28|NO.6981

私のような初心者の質問に答えていただき、ありがとうございます。
しかし、どのような命令を使えば良いのか解らないため、
しばらく解決はできそうに無いです。(そして私はActiveBasicを使えません。)



s

リンク

2007/4/5(Thu) 05:29:10|NO.6989

糞ソフトの宣伝乙



e

リンク

2007/4/5(Thu) 07:41:55|NO.6991

ゆちボンさん、そのエディタにはルーラーなんてついとりませんよ。あとwm_editうんたらって中途半端なこと教えるなら言わないほうがマシですよ。ActiveBasicだって定数定義されてるんだから自分のソースでもみれば正確なメッセージ定義わかるんじゃないの?それとも分からないようなコードをかいてんのかな。どちらにしてもルーラーとは関係ないね。



ゆちボン

リンク

2007/4/5(Thu) 18:28:45|NO.7008

まず、「0x0133」(WM_CTLCOLOREDIT)を受け取ります。
そして、mesboxのhdcを取得します。(多分WinAPIのGetDCで受け取れたと思います。)
あとは描画するだけです。
(repeatとかつかって)



ゆちボン

リンク

2007/4/5(Thu) 18:36:14|NO.7009

追記です。
GetDCについては以下です。
#uselib "user32"
#func GetDC "GetDC" int

そのあと、必ずReleaseDCをしてください。
GetDCの下にこれを書いてください
#func ReleaseDC "ReleaseDC" int

取得できるDCにmesで描画できるのかな?
できなかったら、「TextOut」でやってみてください。
#func TextOut "TextOut" int,int,int,var,int

>eさん
あのような回答をしてすみませんでした。
今後気をつけます。



Kpan

リンク

2007/4/5(Thu) 21:35:56|NO.7017

>ルーラー
HSPエディタにも付いている上部の目盛りですよね?

キャレットの位置を把握しておかないといけないので、少なくとも
mesboxは、↓の問題にぶつかってワケ分からん状態に陥るような
気がします。
http://smile.poosan.net/perl-bin/hsp/ver3/hsp3.cgi?print+200510/05100006.txt



ゆちボン

リンク

2007/4/6(Fri) 18:03:22|NO.7060

>キャレットの位置を把握しておかないといけないので、少なくとも
>mesboxは、↓の問題にぶつかってワケ分からん状態に陥るような
>気がします。
キャレットの位置は「SendMesseage」で送るメッセージは使わずに、
Win32APIの「GetCaretPos」(綴り間違っていたらすいません。)

ただしエディタの左上からの座標になります。
なので、ルーラーの幅(↑につけるのなら高さ)だけ引いて(フォントの幅/2)で
キャレットの位置を求めることができると思います。



匿名希望

リンク

2007/4/6(Fri) 19:44:40|NO.7068

このような質問に迅速な回答、ありがとうございます。
この質問で、ルーラーは困難を極めることが↓
判明したので、数年は手を出さないようにしておきます(↓
Win32APIをまだ完全に理解できていないから)↓
そして、ここはひとまず解決の印を入れておきます。

追記
sさんとeさん、自分の言動を改めましょう。
自分が不愉快になるような事は言わない事です。



ゆちボン

リンク

2007/4/6(Fri) 22:12:09|NO.7073

>この質問で、ルーラーは困難を極めることが↓
>判明したので、数年は手を出さないようにしておきます(↓
>Win32APIをまだ完全に理解できていないから)↓
>そして、ここはひとまず解決の印を入れておきます。
いえ、ルーラーをはじめにWin32APIの基礎知識から覚えていくと良いと思います。
上側につくルーラーは確かにWin32APIの知識がないと
困難だと思います。(私もわかりません。)
しかし、行数表示ならできると思います。(hsed3.exeみたいに右側につくもの)
まぁ、解決しているからいいですか(^^;



GENKI

リンク

2007/4/7(Sat) 01:54:43|NO.7085

横からすいません。

> sさんとeさん、自分の言動を改めましょう。
> 自分が不愉快になるような事は言わない事です。

おっしゃられていることはもっともなのですが、名前が匿名希望ではsさんもeさんも、説得力ないなとか匿名でいわれてもな…ぐらいにしか受け止めてくれないと思いますよ。



以上、m(_ _)m余計なお世話でした。



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