MISAO with WPF

Similar documents
MISAO with WPF

XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する

MISAO with WPF

XAML Do-It-Yourself シリーズ 第 8 回ゕニメーション -1-

Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではな

XAML の勉強上要! WPF アプリケーションは作れます

プロセス間通信

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

XAML Do-It-Yourself シリーズ 第 1 回 XAML 概要 -1-

アプリケーション

ファイル操作-インターネットキャッシュ

ASP.NET 2.0 Provider Model 概要

PowerPoint プレゼンテーション

~ ユーザーインターフェイスの自動テスト ~

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で

NotifyIconコントロール

C#の基本

ガイダンス

正規表現応用

XAML Do-It-Yourself シリーズ 第 7 回テンプレート -1-

Visual Studio Do-It-Yourself シリーズ 第 1 回 Windows ゕプリケーション開発の概要 -1-

WPF アプリケーションの 多言語切替

Secure iNetSuite for .NET 4.0Jの新仕様について

ガイダンス

ガイダンス

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

VB.NET解説

ガイダンス

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

ガイダンス

XAML Do-It-Yourself シリーズ 第 11 回 2D グラフゖックス -1-

プラグイン

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

PowerPoint プレゼンテーション

Microsoft PowerPoint ppt

HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Stu

DockControl for WPF/Silverlight

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

untitled

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される

ウィンドウ操作 応用

ICONファイルフォーマット

グラフィックス

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

ファイル操作

ListViewコントロール

PowerPoint プレゼンテーション

Chart3D for WPF/Silverlight

Microsoft PowerPoint - prog03.ppt

わさわさとWPF

スライド 1

ファイル監視

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

Carousel for WPF/Silverlight

かべうちテニス

Prog2_10th

Prog2_12th

PDFViewer for WPF/Silverlight

PowerPoint プレゼンテーション

データアダプタ概要

構造体

XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1-

Sparkline for WPF

PowerPoint プレゼンテーション

目次 概要.. 3 演習 1: 静的 PARALLEL ヘルパークラスを使用した既存のアルゴリズムの並列化 6 タスク 1 実行時間の長いサービスを並列化する 6 演習 2: 並列タスクの作成と実行. 23 タスク 1 並列タスクを特別な設定なしに実行する 23 タスク 2 Wait() メソッドと

sp2-2.indd


デザインパターン第一章「生成《

メソッドのまとめ

Prog2_10th

PowerPoint プレゼンテーション

マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部 井上大輔 井上章

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

PowerPoint プレゼンテーション

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

ピコ秒パルスレーザ基板ライブラリ (tmhidld.dll) 説明書 珠電子株式会社 2013/04/30 概要 ピコ秒パルスレーザ基板を制御するための.Net Framework 4.0 ライブラリについて説明します ユーザアプリケーション (VB.net VC.net VC#.net LabVI

Microsoft PowerPoint - chap10_OOP.ppt

著作権 このドキュメントに記載されている情報は このドキュメントの発行時点におけるマクロソフトの見解を反映したものです マクロソフトは市場の変化に対応する必要があるため このドキュメントの内容に関する責任を問われないものとします また 発行日以降に発表される情報の正確性を保証できません このホワトペ

XAMLDo-It-Yourself 第 2 回. レゕウト 今回は XAML でウゖンドウにパネルやボタン メニューなどの基本的なコントロールを配置する方法を 学びます ここでは 次のことを学習します XAML におけるレゕウトの基本 主要なパネルとその記述方法 XAML (WPF) で利用可能な

Case 0 sqlcmdi.parameters("?tencode").value = Iidata(0) sqlcmdi.parameters("?tenname").value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else

ファイル操作-バイナリファイル

Microsoft PowerPoint - OOP.pptx

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)

Oracle Lite Tutorial

Prog2_2nd

ルーレットプログラム

PowerPoint プレゼンテーション

チア ダンス

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

ハンズオンラボ Visual Studio 2010 によるデータドリブン型のマスター - 詳細ビジネスフォームの作成 ラボバージョン : 最終更新日 : 2010 年 2 月 9 日 ページ 1

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

スライド 1

スライド 1

WPF Bindingの威力

Microsoft Word - Android_SQLite講座_画面800×1280

スライド 1

Transcription:

MISAO with WPF JZ5 2008/6/7

Agenda 自己紹介 梨ズームも覚えて帰ってね MISAO Inside ニコニコメソッド MISAO (WPF)

自己紹介 JZ5( 松江祐輔 ) @ わんくま同盟 ハードウェゕ技術者 WPF 初心者 使ってみよう!Windows Live SDK/API(gihyo.jp) katamari.jp 塊 SOUL katamari.wankuma.com

What s ニコニコメソッド 2007/4/25 ニコニコ動画勉強会 プレゼン中に参加者がケータからコメントしスライド上にニコニコ動画風にコメントが流れることをしたみたい ニコニコ動画勉強会に行ってきました (TAKESAKO @ Yet another Cybozu Labs) ニコニコプレゼンやニコニコメソッドと呼ばれる

History of ニコニコメソッドツール 2007/5/1 LingrTickr - 誰でもニコニコメソッドプレゼン (nakatani @ cybozu labs) Yahoo! Widgets, Lingr 2007/5/1 AIR でニコニコメソッドプレゼン ( てっく煮ブログ ) Adobe AIR, テキストフゔル

2007/9/9 歴史その 2 WPF でニコニコメソッド (ZOETROPE の日記 ) WPF, telnet 2008/2/2 [AIR][ActionScript]AIR でニコニコ動画風 RSS リーダー作った ( プレゼン向け ) (public static void main)

2008/2/23 歴史その 3 第 2 回 1000speakers DDD の概要とその可能性 suztomo AIR, IRC(USTREAM.TV) 2007/11? 08/2? 萩野 服部研究室ニコニコプレゼン スラドも含めた PHP によるシステム

Birth of MISAO 2008/3/15 東京勉強会 USTREAM.TV 配信 2008/3/29 大阪勉強会 WPF & IRC(USTREAM.TV) 3/29 6/7 Release! 3/15

MISAO DEMO ( 未定 ) 配布場所予定地 katamari.jp/soulware/

MISAO Inside

ウゖンドウを透明にするには? Window の XAML Background="Transparent 残念な結果に AllowsTransparency="True WindowStyle="None セットで!

クリックを透過するには? Background=Transparentだけではウゖンドウ上のコントロールがクリックできる たぶん WPF だけじゃできないので Windows API(Win32 API) SetWindowLong 関数

Win32 API を使うには ウゖンドウハンドルの取得これまで (Windows.Forms): Me.Handle WPF ゕプリでの方法 : System.Windows.Interop. WindowInteropHelper(Me). Handle コンストラクタ内では取得できない

SetWindowLong でクリック透過 拡張ウゖンドウスタル (GWL_EXSTYLE) ってのを書き換えます スタル WS_EX_TRANSPARENT を付ける Dim style = GetWindowLong(handle, GWL_EXSTYLE) SetWindowLong(handle, GWL_EXSTYLE, _ style Or WS_EX_TRANSPARENT) クリックが透過するのは WS_EX_LAYERED スタルも付いているときだけ! 透明ウゖンドウには WS_EX_LAYERED スタルは付いてる

タスク切り替え時非表示にする 以上で OK? まだです これ要らない 拡張ウゖンドウスタルから WS_EX_APPWINDOWを削除 WS_EX_TOOLWINDOWを追加

常に最前面に非ゕクテゖブで表示 最前面だけなら XAML で OK Topmost="True 非ゕクテゖブで表示するには やっぱり Win32 API SetWindowPos(handle, _ CType(HWND_TOPMOST, IntPtr), _ 0, 0, 0, 0, _ SWP_NOMOVE Or SWP_NOSIZE Or _ SWP_NOACTIVATE)

ウゖンドウ表示時に非ゕクテゖブ フックを使うとできます SetWindowsHookEx UnhookWindowsHookEx CallNextHookEx 最初のウゖンドウは無理 参考 : WPF Tips and Tricks: Window.Show() Without Activating The Window (IRhetoric)

おわりに ShowInTaskbar も忘れずに ShowInTaskbar="False"

ゕニメーション WPF には簡単に使えるゕニメ機能がある プロパテゖを変化させてゕニメーション 条件 依存関係プロパテゖ DependencyObject クラス継承 IAnimatbale ンタフェースを実装 したクラスに属する 互換性のあるゕニメ種類が利用できる状態 ウゖンドウにのるコントロール ならなんでもゕニメ可 結論

ゕニメーション方法 あいうえお あいうえお 4 ゕニメ開始メソッドの 呼び出し

資料 1 <Window x:class="window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> <Label x:name="barlabel" Width="300" Background="Red" HorizontalAlignment="Left" MouseDown="BarLabel_MouseDown" /> </Grid> </Window> Private Sub BarLabel_MouseDown() Dim a = New DoubleAnimation a.from = BarLabel.Width a.to = 0 a.duration = New Duration(TimeSpan.FromSeconds(10)) BarLabel.BeginAnimation(Label.WidthProperty, a) End Sub

Storyboard を使う 普通は (?)Storyboard を使う 複数のプロパテゖゕニメにも使える あと XAML にも書ける Private Sub BarLabel_MouseDown() Dim a = New DoubleAnimation a.from = BarLabel.Width a.to = 0 a.duration = New Duration(TimeSpan.FromSeconds(10)) Storyboard.SetTargetName(a, "BarLabel") Storyboard.SetTargetProperty(a, New PropertyPath(Label.WidthProperty)) Dim s = New Storyboard s.children.add(a) BarLabel.BeginStoryboard(s) 資料 2 End Sub

Thread 処理 UI の操作 UIの操作はUIのスレッドから行う! WPFではUIスレッド以外から操作すると例外をスロー これまで (System.Windows.Forms): Control.Invoke メソッドとか

WPFでThread WPFの方法 : Dispatcherオブジェクトを使う Dispatcher.Invoke(Dispatch erpriority, Delegate) 優先順位が指定できる

私がしばしば書くコード Private Sub MessageReceived(ByVal sender As Object, _ ByVal e As MessageEventArgs) If Dispatcher.Thread IsNot System.Threading.Thread.CurrentThread Then Dispatcher.Invoke(Windows.Threading.DispatcherPriority.Normal, _ New Action(Of Object, MessageEventArgs)(AddressOf MessageReceived), sender, New Object() {e}) Exit Sub End If ' ここに UI 操作 End Sub

基本は BackgroundWorker.NET Framework 2.0 で追加されたクラス DoWork ベント : 別スレッドで動く ProgressChanged ベント : UI スレッドで動く RunWorkerCompleted ベント : UI スレッドで動く タマーは DispatcherTimer を使おう 参考 : Dispatcher を使用して応答性の高いゕプ リケーションを構築する (MSDN マガジン )

枠付きの文字 その他の話題 方法 : 中抜きの文字列を作成する (MSDN Library) 影付きは簡単 : ShadowDepth プロパテゖ メッセージソースゕドン System.AddIn IRC Live Messenger MSNP パケットキャプチャ

まとめ Windows Live の記事書いてます ニコメソッドツールを紹介しました MISAOはkatamari.jpから 透明ウゖンドウはいろいろ考えると WPF &.NETだけでは難しい ゕニメは簡単 Threadはこれまでと同様な感じ Enjoy WPF & Presentation