4 vista

Information about 4 vista

Published on June 16, 2007

Author: Mahugani

Source: authorstream.com

Content

Slide1:  .NETアプリをVista化しよう 中 博俊 Slide2:  こんなだいそれた タイトルで どうしましょう!? Vistaの目玉は何だ:  Vistaの目玉は何だ Windows Vistaの目玉は なんやろか? Vistaの目玉は何だ:  Vistaの目玉は何だ .NET Framework 3.0 でしょうか? Vistaの目玉は何だ:  Vistaの目玉は何だ 否 Vistaの目玉は何だ:  Vistaの目玉は何だ アプリケーション プラットフォーム としての着実な進化 こそ目玉に相応しい!! Slide7:  今回取り上げる機能は ボタン IFileDialog System.IO.Log(CLFS) XPS ボタン:  ボタン Windows XPのボタンは Windows Vistaのボタンは Slide9:  DEMO1 Slide10:  違いは明滅 対応するためには FlatStyleをSystemに そう.NET 1.1+XPと同じ WPFアプリの場合:  WPFアプリの場合 WPFアプリのエントリポイントはApp.Xamlの andlt;Application x:Class='WindowsApplication1.App' xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' StartupUri='Window1.xaml' andgt; andlt;/Applicationandgt; Slide12:  DEMO2 WPFアプリの場合:  WPFアプリの場合 WPF + Windows Forms混在アプリを作る場合には Appクラスのコンストラクタで、EnableVisualStylesする。 public partial class App : System.Windows.Application { public App() { System.Windows.Forms. ⇒ Application.EnableVisualStyles(); } } Command Link Button:  Command Link Button 選択肢を表すにはCommand Link形式のボタンを使いましょう。 Command Link Button:  Command Link Button 実現するにはボタンを継承したコントロールで、CreateParamsを上書きしちゃいます。 const int BS_COMMANDLINK = 0x0000000E; protected override CreateParams CreateParams { get { if (System.Environment.OSVersion.Version.Major andgt;= 6) { CreateParams cParams = base.CreateParams; cParams.Style |= BS_COMMANDLINK; return cParams; } else { return base.CreateParams; } } } Command Link Button:  Command Link Button さらにNote部という部分が増えています。 これにはメッセージです。 const int BCM_SETNOTE = 0x1609; SendMessage(new HandleRef(this, this.Handle), BCM_SETNOTE, IntPtr.Zero, value); Getは面倒なので割愛 Shield アイコン:  Shield アイコン 通常のボタンでも、Command Link ButtonでもUACに関係して、昇格が必要な処理のボタンにはシールドアイコンを設定しましょう。 SendMessage(new HandleRef(this, this.Handle), BCM_SETSHIELD, IntPtr.Zero, true); 他には:  他には const int BS_SPLITBUTTON = 0x0000000C; LiveSerachで検索すると、このボタンのサンプルがないって本家MSDNFにかかれているだけ。 謎機能です。 そして:  そして これらすべてを簡単に使える WankumaButton Demo3 Slide20:  今回取り上げる機能は ボタン IFileDialog System.IO.Log(CLFS) XPS IFileDialogって?:  IFileDialogって? いままで使ってきたOpenFileDialog はもう古い 古いの:  古いの 新しいの:  新しいの IFileDialogって?:  IFileDialogって? .NET3.0ではサポートされてません。(XPでも動くしね3.0は) IFileDialogって?:  IFileDialogって? COMで実装されていますが、IDispatchはなく、IUnknownだけです。 CreateObject('Shell32.FileDialog')は無理ってこと Slide26:  C++/CLIの 出番じゃないか 使うためには:  使うためには Windows SDK 6.1をインストール http://www.microsoft.com/downloads/details.aspx?FamilyID=ff6467e6-5bba-4bf5-b562-9199be864d29andamp;DisplayLang=en プロジェクトメニュー→プロパティ→構成プロパティ→C/C++→全般→追加のインクルードディレクトリにSDKのIncludeフォルダを追加 #define設定 #define WINVER 0x0600 #define _WIN32_WINNT 0x0600 ミニマムコード(ATL版):  ミニマムコード(ATL版) ::CoInitialize(NULL); CComPtrandlt;IFileOpenDialogandgt; ifd; ifd.CoCreateInstance(__uuidof(FileOpenDialog)); ifd-andgt;Show(NULL); ::CoUninitialize(); Slide29:  DEMO4 (ifd2) Slide30:  今回取り上げる機能は ボタン IFileDialog System.IO.Log(CLFS) XPS ログを取る場合の問題点:  ログを取る場合の問題点 http://blogs.wankuma.com/naka/archive/2007/03/15/66950.aspx http://blogs.wankuma.com/naka/archive/2007/03/16/67146.aspx http://blogs.wankuma.com/naka/archive/2007/03/19/67563.aspx http://blogs.wankuma.com/naka/archive/2007/03/27/69201.aspx http://blogs.wankuma.com/naka/archive/2007/03/28/69340.aspx こっそりあおり連載でした。 時系列に取れない(Mixされる) 遅い 大きい 排他待ち バラバラ CLFSをあなたは知っているか?:  CLFSをあなたは知っているか? Common Log File Systemという Windows Server 2003 R2から採用 Windows SDKにいつまでも情報が載らず やっと使えるSDKが出たと思うと。 .NET 3.0でこっそりとSystem.IO.Logとして実装されていた。 確かに当初からWinFXとして提供予定だったけど。 CLFSとは:  CLFSとは 高速である 柔軟である 排他処理しなくてよい 利用するには:  利用するには System.IO.Log.Dllを参照設定するだけ。 Slide35:  DEMO5 (clfs3) CLFSの使い方1:  CLFSの使い方1 開く using (LogRecordSequence sequence = new LogRecordSequence( LOG_PATH, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite, FileShare.ReadWrite)) ポイント FileShare.ReadWriteで開く!!でないと排他がかかっちゃうよ CLFSの使い方2:  CLFSの使い方2 初回だけポリシー設定を if (sequence.LogStore.Extents.Count == 0) { sequence.LogStore.Policy.AutoGrow = true; sequence.LogStore.Policy.GrowthRate = new PolicyUnit(1, PolicyUnitType.Extents); sequence.LogStore.Policy.Commit(); sequence.LogStore.Policy.Refresh(); ポイント CommitとRefreshを実行する。 ほかにもファイルプレフィックス、サフィックスなどを設定する。 組み合わせで動かない場合もあるので、テストしましょう。 CLFSの使い方3:  CLFSの使い方3 初回エクステントの設定 sequence.LogStore.Extents.Add(EXTENT_NAME + sequence.LogStore.Extents.Count, EXTENT_SIZE); ポイント 初回だけしかしない。 以後はポリシーのAutoGrowにまかせる。 最小サイズは512KB でもそれなりのサイズにしましょう CLFSの使い方4:  CLFSの使い方4 ログ出力 sequence.Append( segment, SequenceNumber.Invalid, SequenceNumber.Invalid, RecordAppendOptions.None); ポイント RecordAppendOptionsはNoneにすること。 でないとパフォーマンスはでない Vista以外の場合どうする?:  Vista以外の場合どうする? LogRecordSequence を FileRecordSequence にかえる。 複数書き込みできない ポリシーベースの自動拡張できない 普通のファイルベース出力をしてくれる。 Slide41:  今回取り上げる機能は ボタン IFileDialog System.IO.Log(CLFS) XPS XPS?:  XPS? XML Paper Specification PDFキラー Xamlのサブセットであり、内部は.docxと似た感じ XPSはどうやったら使えるの?:  XPSはどうやったら使えるの? 作る方 Windows Vista 2007 Office Systems+保存アドイン .NET Framework 3.0 見る方 Windows Vista Windows XP or Windows Server 2003 andamp; XPS Essentials Pack + MSXML6.0 XPSって従来の印刷とどう違うの?(Windows SDKより):  XPSって従来の印刷とどう違うの?(Windows SDKより) XPSって従来の印刷とどう違うの?:  XPSって従来の印刷とどう違うの? XPSって従来の印刷とどう違うの?:  XPSって従来の印刷とどう違うの? XPSって従来の印刷とどう違うの?:  XPSって従来の印刷とどう違うの? XPSって従来の印刷とどう違うの?:  XPSって従来の印刷とどう違うの? まずは出してみましょう:  まずは出してみましょう DEMO6 XPSってどうなっているの?:  XPSってどうなっているの? ZIP圧縮されたXMLの集合体 各ページ情報は /Documents/1/Pages/1.fpageに格納 リソースはフォントと、イメージ /Documents/1/Resourcesや、/Resourcesに格納 ページ情報はどうなっているの?(抜粋):  ページ情報はどうなっているの?(抜粋) andlt;FixedPage Width='793.76' Height='1122.56' xmlns='http://schemas.microsoft.com/xps/2005/06' xml:lang='und'andgt; andlt;Path Data='F1 M 75.52,75.52 L 165.28,75.52 165.28,86.08 75.52,86.08 z' Fill='#ffffffff' /andgt; andlt;Glyphs Fill='#ff000000' FontUri='/Documents/1/Resources/Fonts/1ED08800-1D11-4DEE-9484-91F85C6F520A.odttf' FontRenderingEmSize='10.5604' StyleSimulations='None' OriginX='75.52' OriginY='84.64' Indices='2102;2104;2106;2108;2110;59;51;54;11764;11754' UnicodeString='あいうえおXPS薔薇' /andgt; andlt;/FixedPageandgt; ページ情報 ブラシ 文字 フォント指定 サイズ、位置 文字列 それではXPSを作ってみましょう。:  それではXPSを作ってみましょう。 関連する名前空間は System.Windows .Xps .Xps.Packaging .Xps.Serialization System.Printing それではXPSを作ってみましょう。:  それではXPSを作ってみましょう。 XPSを作ってみましょう。 WPF関係の参照設定がされている前提 System.Printing.dll ReachFramework.dll の2つがコアになるコンポーネント 作ってみましょう:  作ってみましょう DEMO7 (xps1) XPSを作るポイント:  XPSを作るポイント 日本語を扱うならフォントサブセットは必須!! 縦書きは頼るな。(使えない) 仕様書をよく読む。 結局出力するのはXML Slide56:  参考文献:  参考文献 ★CommandLinkとSETNOTEとシールドアイコン knom's developer corner(en) http://blogs.msdn.com/knom/archive/2007/03/12/command_5F00_link.aspx WindowsSDKの位置 Win32 and COM Development→User Interface →Windows Controls →Individual Control Information →Button Controls 参考文献:  参考文献 ★IFileDialogについて Windows Vista for Developers – Part 6 – The New File Dialogs(en) http://weblogs.asp.net/kennykerr/archive/2006/11/10/Windows-Vista-for-Developers-_1320_-Part-6-_1320_-The-New-File-Dialogs.aspx Kkamegawaさんのcodeseekでの発表資料(ja) http://mist.clueup.org/files/default.aspx WindowsSDKの位置 Win32 and COM Development→User Interface →Windows Shell→Shell Reference→Shell Interfaces →IFileDialog 参考文献:  参考文献 ★System.IO.Log(CLFS)について Fast and Flexible Logging with Vista's Common Log File System(en) http://www.devx.com/VistaSpecialReport/Article/33848/0/page/1 Windows Server 2003 R2 の新機能 http://technet2.microsoft.com/WindowsServer/ja/Library/f9d70026-ae8b-4969-8755-1ea1edc4e38e1041.mspx?mfr=true Windows SDKの位置 Win32 and COM Development →System Services→File Systems→Common Log File System .NET Framework Development→.NET Framework Technologies→Core Development Technologies→Logging Support in System.IO.Log 参考文献:  参考文献 ★XPSについて1 Printing Overview ms-help://MS.MSSDK.1033/MS.NETFX30SDK.1033/wpf_conceptual/html/0de8ac41-9aa6-413d-a121-7aa6f41539b1.htm 2007 Microsoft Office プログラム用 Microsoft PDF/XPS 保存アドイン http://www.microsoft.com/downloads/details.aspx?FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041andamp;DisplayLang=ja Microsoft XML Paper Specification Essentials Pack Version 1.0 http://www.microsoft.com/downloads/details.aspx?FamilyId=B8DCFFDD-E3A5-44CC-8021-7649FD37FFEEandamp;displaylang=en Microsoft Core XML Services (MSXML) 6.0 http://www.microsoft.com/downloads/details.aspx?displaylang=jaandamp;FamilyID=993c0bcf-3bcf-4009-be21-27e85e1857b1 参考文献:  参考文献 ★XPSについて2 Windows HardwareDeveloper Central http://www.microsoft.com/whdc/xps/default.mspx XPS for Application Developers http://www.microsoft.com/whdc/xps/xpsappdevs.mspx XML Paper Specification (Spec) http://www.microsoft.com/whdc/xps/xpsspec.mspx XPS Team Blog http://blogs.msdn.com/xps/ Feng Yuan (袁峰) http://blogs.msdn.com/fyuan/ 参考文献:  参考文献 ★XPSについて3 Optimize XPS markup(パフォーマンスの注意点) http://blogs.msdn.com/fyuan/archive/2006/01/18/514450.aspx Query regarding CreateFontPackage API used for Font Subsetting http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=222335andamp;SiteID=1 Insertion of an adendum to the intro to font embedding http://blogs.msdn.com/michkap/archive/2006/08/02/686538.aspx Creating an XPS Document Sample ms-help://MS.MSSDK.1033/MS.NETFX30SDK.1033/wpf_samples/html/a7736471-4322-40ea-8580-34c8eb0dbb3e.htm

Related presentations


Other presentations created by Mahugani

Exploring the Deep Web
12. 03. 2008
0 views

Exploring the Deep Web

Moving Mountains
02. 10. 2007
0 views

Moving Mountains

dustbowl
10. 10. 2007
0 views

dustbowl

The Internet China
12. 10. 2007
0 views

The Internet China

shen 1
12. 10. 2007
0 views

shen 1

Triumph of Bolshevism
12. 10. 2007
0 views

Triumph of Bolshevism

Kukovecz
15. 10. 2007
0 views

Kukovecz

09 Panama s ppt
22. 10. 2007
0 views

09 Panama s ppt

Common By Product Feeds
04. 10. 2007
0 views

Common By Product Feeds

Dissertation Writing comms ug
27. 11. 2007
0 views

Dissertation Writing comms ug

TT
27. 11. 2007
0 views

TT

black holes v2
28. 11. 2007
0 views

black holes v2

Production of Calla Lily
07. 12. 2007
0 views

Production of Calla Lily

Water Track 8 7 15 051
07. 11. 2007
0 views

Water Track 8 7 15 051

PVC Toronto talk
16. 11. 2007
0 views

PVC Toronto talk

2022lecture2
19. 11. 2007
0 views

2022lecture2

Robertson
03. 10. 2007
0 views

Robertson

20050922 Crafoord Symposium
29. 08. 2007
0 views

20050922 Crafoord Symposium

field mmr naga
31. 12. 2007
0 views

field mmr naga

Anthony Kelly International
02. 01. 2008
0 views

Anthony Kelly International

fy2004 mfc construction
04. 01. 2008
0 views

fy2004 mfc construction

NASC PresentHanson
08. 08. 2007
0 views

NASC PresentHanson

Nicosia Raymond Pawson
08. 08. 2007
0 views

Nicosia Raymond Pawson

Methamphetamine final10 05
08. 08. 2007
0 views

Methamphetamine final10 05

ppt43
16. 10. 2007
0 views

ppt43

McCarthy Mitchell
29. 08. 2007
0 views

McCarthy Mitchell

Update FutureDirection LRago
22. 10. 2007
0 views

Update FutureDirection LRago

gef 160306
23. 10. 2007
0 views

gef 160306

IT Trends 2005 2010
14. 11. 2007
0 views

IT Trends 2005 2010

rec pond mgnt compressed
07. 01. 2008
0 views

rec pond mgnt compressed

Sci Case II
29. 08. 2007
0 views

Sci Case II

markenklima index q1 2005
05. 01. 2008
0 views

markenklima index q1 2005

yalenov2006
29. 08. 2007
0 views

yalenov2006

media 4917
08. 08. 2007
0 views

media 4917

gatorsncrocs
12. 10. 2007
0 views

gatorsncrocs

Eradicating Systemic Poverty
29. 11. 2007
0 views

Eradicating Systemic Poverty

Kennedy obesity 0904
08. 08. 2007
0 views

Kennedy obesity 0904

jsimon santacruz
29. 08. 2007
0 views

jsimon santacruz

9 0568 rusack r
20. 11. 2007
0 views

9 0568 rusack r

soc100ch10Corepwrpt
19. 02. 2008
0 views

soc100ch10Corepwrpt

Edward Albee
24. 02. 2008
0 views

Edward Albee

AFCEA NOVA Breakfast7Sept07v1
06. 03. 2008
0 views

AFCEA NOVA Breakfast7Sept07v1

Lakeside2
26. 03. 2008
0 views

Lakeside2

sHansen
29. 08. 2007
0 views

sHansen

Tectonics Terrestrial Planets2
07. 04. 2008
0 views

Tectonics Terrestrial Planets2

Sept SECC
02. 11. 2007
0 views

Sept SECC

Hercules
28. 03. 2008
0 views

Hercules

deprez presentation 12 1 05
30. 03. 2008
0 views

deprez presentation 12 1 05

HARIPARSAD Ishwarie 2
09. 04. 2008
0 views

HARIPARSAD Ishwarie 2

Beaulieu
10. 04. 2008
0 views

Beaulieu

sings2mw
29. 08. 2007
0 views

sings2mw

molgas twong
29. 08. 2007
0 views

molgas twong

newman1
14. 04. 2008
0 views

newman1

session 25 V2
17. 04. 2008
0 views

session 25 V2

Citel
22. 04. 2008
0 views

Citel

icra02
19. 06. 2007
0 views

icra02

ICHEP 04 Barr Higgs
19. 06. 2007
0 views

ICHEP 04 Barr Higgs

IBERs and e Theses
19. 06. 2007
0 views

IBERs and e Theses

HS P2P Liao
19. 06. 2007
0 views

HS P2P Liao

he b
19. 06. 2007
0 views

he b

HB2004
19. 06. 2007
0 views

HB2004

Hartenstein Oerebro03 pt1
19. 06. 2007
0 views

Hartenstein Oerebro03 pt1

Grid InteropSupport
19. 06. 2007
0 views

Grid InteropSupport

Grid Interop
19. 06. 2007
0 views

Grid Interop

grid 06talk
19. 06. 2007
0 views

grid 06talk

wednesday
29. 08. 2007
0 views

wednesday

comer5e ch08 HO
15. 11. 2007
0 views

comer5e ch08 HO

SAG YinG 9 Jan New
03. 01. 2008
0 views

SAG YinG 9 Jan New

02 Cattle2
26. 11. 2007
0 views

02 Cattle2

Grid Shib uk april05
19. 06. 2007
0 views

Grid Shib uk april05

J Acar
14. 03. 2008
0 views

J Acar

20061130 woodling
30. 12. 2007
0 views

20061130 woodling

ch02exoh
07. 01. 2008
0 views

ch02exoh

Choose your way carefully
03. 10. 2007
0 views

Choose your way carefully

33233 11162218 S
16. 06. 2007
0 views

33233 11162218 S

23
16. 06. 2007
0 views

23

2007 tips tricks
16. 06. 2007
0 views

2007 tips tricks

19b
16. 06. 2007
0 views

19b

EPL Membership
16. 06. 2007
0 views

EPL Membership

Entire Gra duation Slideshow
16. 06. 2007
0 views

Entire Gra duation Slideshow

elley web graphics
16. 06. 2007
0 views

elley web graphics

A Loose Confederation
14. 12. 2007
0 views

A Loose Confederation

employee 2004
16. 06. 2007
0 views

employee 2004

Obesity 1
08. 08. 2007
0 views

Obesity 1

Active Kill Disk
19. 06. 2007
0 views

Active Kill Disk

teall cost 3 ch16
24. 02. 2008
0 views

teall cost 3 ch16

CFA05
29. 08. 2007
0 views

CFA05

gemini sab
29. 08. 2007
0 views

gemini sab

NINDS Audience Report
08. 08. 2007
0 views

NINDS Audience Report

mm1
29. 08. 2007
0 views

mm1

ENGD POWERPOINT
16. 06. 2007
0 views

ENGD POWERPOINT

I3C BSML July2002
19. 06. 2007
0 views

I3C BSML July2002

igt 3
04. 03. 2008
0 views

igt 3

MassesofGalaxies
29. 08. 2007
0 views

MassesofGalaxies