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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0216
(´ω`)リッチテキストについて2解決


(´ω`)

リンク

2012/2/16(Thu) 18:39:11|NO.44904

HSP3に付属のstdlib内、"exrichedit.as"を使うと、リッチテキストボックスが
作れますよね。
しかし例えば、付属サンプルのリッチテキストエディタで、画像埋め込みありの
rtfファイルを読み込むと、画像だけ表示されません。
で、どうやったらできるんだろうと色々と調べておりまして。

まず、大変恐縮ですが、以下いろいろ調べて覚えた、「こうじゃないかなー」の知識に
ついて、間違ってる部分があれば「ちげーよバーカ」と教えていただきたいのです。

 ・riched32.dllは古いやつ(1.0)
 ・RichEditコントロールって、2.0とか3.0ってのがある
 ・riched20.dllが新しいやつ(2.0、3.0)で上位互換
 ・1.0では画像まで扱えない、扱えるのは2.0以上
 ・しかしLoadLibraryを単純に32から20に変えてもだめ、
  exrichedit.asをいろいろ改造する必要がある

で、riched20.dllのつつき方や実際につついてる情報サイト、および書籍をもしご存知であれば
ぜひとも教えていただきたいのです。

連日の質問で恐縮ですが、よろしくお願いいたします。(u´ω`)



この記事に返信する


ヂオン

リンク

2012/2/18(Sat) 00:23:54|NO.44914

stdlib は hsp3 に 付属していなかった記憶が有ります。

> ・しかしLoadLibraryを単純に32から20に変えてもだめ、
>  exrichedit.asをいろいろ改造する必要がある

とりあえず リッチエディット の ライブラリには それぞれに対応するクラス名が有るので、正しい組み合わせをしていしなければ。うまくいきません。

自分が今確認している限りでは。
以下の組み合わせが有ります。

ライブラリ : クラス名 

Riched32.dll = RICHEDIT
Riched20.dll = RichEdit20A or RichEdit20W
Msftedit.dll = RichEdit50A or RichEdit50W
MSPTLS.DLL = RichEdit60A or RichEdit60W

よって exrichedit.as で "Riched20.dll" を使用する場合には、


dll="riched20.dll" LoadLibrary varptr(dll) : pdll=stat : if pdll==0 : return -1 ;▼リッチエディトコントロール作成 Class ="RichEdit20W" CreateWindowEx 0,varptr(Class),0,$50B110C4,npx,npy,nwx,nwy,hwnd,0,hinstance,0

の様にする必要が有ります(動作確認はしていません。)



(´ω`)

リンク

2012/2/18(Sat) 13:11:36|NO.44918

ご教示、ありがとうございます。(´ω`)

教えていただいた情報を元にさらにいろいろググってみたら、なんかMSが公開してる
ワードパッドのソースとやらに行き当たりました!
これを読めば、なんかいろいろわかりそうです(読めれば)!

exrichedit.asの改変ですが、ためしに色々変えてみたところ、やっぱ単純にライブラリを
変更するだけでは画像表示はだめぽでした。
レンダリングのエンジンが違うとかなんとかあるのかなあ。
それか、有料のWYSIWYGライブラリを使うか、ってとこですかね。

自作ワープロ、けっこう難しいモンですね……(´・ω・`)



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