- PR -

ASP.NETでお絵描き

投稿者投稿内容
ぱぱ
常連さん
会議室デビュー日: 2005/09/01
投稿数: 34
投稿日時: 2005-09-01 18:01
ASP.net(VB)でお絵描きツール(線を引くだけ)を作成しようと奮闘中です。
WindowsContorolLibraryでUserContorolを作成しDll化して
Windowsフォームでは起動確認できたのですがWebフォームで
使用しようとするとセキュリティ例外が発生します。
Graphics.FromHwndの使い方が悪いと思いPaintEventArgs.Graphicsに変更
したのですがうまく動作しません。

ご存知の方おられましたらご教授ください。

Private Sub UserControl1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If e.Button = MouseButtons.Left Then

g = Graphics.FromHwnd(Handle)
DrawLastSegment(g)
g.Dispose()

End If
End Sub

Public Sub DrawLastSegment(ByVal g As Graphics)
Dim p1 As Point
Dim p2 As Point
Dim pen As New Pen(Color.Black)

p1 = Points(Points.Count - 2)
p2 = Points(Points.Count - 1)
pen.EndCap = LineCap.Flat

g.DrawLine(pen, p1, p2)
pen.Dispose()

End Sub
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-09-01 21:27
 まず、ASP.NET で、どのような仕上がりを予定していらっしゃいますか?
Web アプリケーションを、Windows アプリケーションと同じように設計することはできません。
Windows フォームをそのまま利用しようとしているところから、
その辺の事情をご存じでないと判断します。
まず、この辺の記事を、流し読みでいいので、すべてに目を通すことをおすすめします。

_________________
ぱぱ
常連さん
会議室デビュー日: 2005/09/01
投稿数: 34
投稿日時: 2005-09-01 21:51
Windowsのペイントみたいなのをイメージしています(色は白黒でいい)。
帳票上に簡単な地図を表示させたいのですがその地図をWebシステムを用いて
描きたいとエンドユーザさんが言っています。最初はExcelで図を作成しイメージ
として保存するとか考えたのですがどうもしっくりこなくて・・。

何か良い方法ありますか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-09-01 23:14
引用:

ぱぱさんの書き込み (2005-09-01 21:51) より:
Windowsのペイントみたいなのをイメージしています(色は白黒でいい)。
帳票上に簡単な地図を表示させたいのですがその地図をWebシステムを用いて
描きたいとエンドユーザさんが言っています。最初はExcelで図を作成しイメージ
として保存するとか考えたのですがどうもしっくりこなくて・・。

何か良い方法ありますか?


 その方法を探すのが仕事ではないですか?
 先ほど、こう書きました。

Web アプリケーションを、Windows アプリケーションと同じように設計することはできません。
Windows フォームをそのまま利用しようとしているところから、
その辺の事情をご存じでないと判断します。
まず、この辺の記事を、流し読みでいいので、すべてに目を通すことをおすすめします。

この辺の記事でリンクしている先を、ざっとでも目を通されましたか?
そうすると、ASP.NET は Web アプリケーションであることがわかると思います。
また、ユーザインタフェースは、ブラウザであることがわかると思います。
ブラウザであることがわかったら、JavaScript か、VBScript が必要であることがわかると思います。
そうしたら、たとえば「ブラウザ上でクリックした座標を知るには?」というような、質問内容が具体的になってくると思います。


 私は、ブラウザ上で任意の位置をクリックして、その座標を知るすべを知りません。
# IEに限定すれば、知ることは出来ます。
# とはいえ、ブラウザ上に任意の図形を描くとなると・・・?
いえ、いくつかの方法で知ることは出来ます。
まず、ActiveX です。しかし、これについては全く知りません。
次に、ノータッチデプロイメントです。Windows アプリケーションを、HTML 上に貼り付けます。これをすると、セキュリティのチェックがかかり、クライアントでセキュリティの設定をする必要があります。
 これの設定は、マニュアルを見たり実際に動かして、どの項目を許可するか、決めます。ActiveDirectory が導入されているなら、サーバから設定を配信できますが、そうでなければ、たとえば「セキュリティ設定を変更するアプリケーション」を配布して、実行してもらうことになります。

端的に言うと、Web システムとして実現が難しいことを要求されています。

ご参考→お絵描き掲示板はほんとに無理?
_________________
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-09-01 23:43
この記事も読まれた方がよろしいかと
ぱぱ
常連さん
会議室デビュー日: 2005/09/01
投稿数: 34
投稿日時: 2005-09-01 23:48
勉強不足で申し訳ございません。

みなさまから教えていただいた参考記事を熟読し出直してきます。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2005-09-02 12:06
IE限定でセキュリティ等もいじれるといった環境であれば、次のような記事も
参考になるかも。
http://codezine.jp/a/article.aspx?aid=115
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-09-02 13:14
引用:

Windowsフォームでは起動確認できたのですがWebフォームで
使用しようとするとセキュリティ例外が発生します。



ノータッチデプロイメントではどうですか?

WindowsフォームのEXEファイルを c:\Inetpub\wwwroot\ にコピーして
IEで http://localhost/hoge.exe と入力する。

スキルアップ/キャリアアップ(JOB@IT)