GDI+ Custom Controls with Visual C# 2005
暫譯: 使用 Visual C# 2005 的 GDI+ 自訂控制項

Iulian Serban, Dragos Brezoi, Adam Ward, Tiberiu Radu

  • 出版商: Packt Publishing
  • 出版日期: 2006-06-20
  • 售價: $1,280
  • 貴賓價: 9.5$1,216
  • 語言: 英文
  • 頁數: 276
  • 裝訂: Paperback
  • ISBN: 1904811604
  • ISBN-13: 9781904811602
  • 相關分類: C#Visual C#
  • 已過版

買這商品的人也買了...

相關主題

商品描述

Table of Contents

Preface

 

Chapter 1: Introduction to Custom Controls

  • What Are Controls?
  • Introducing Custom Controls
    • Categories of User Controls
  • Preparing Your Environment
  • What Are Custom Controls Made Of?
    • Private Fields
    • Properties
    • Indexers
    • Events and Delegates
      • Handling Events
    • Collections
    • Enums
  • Building TinyNoiseMaker
    • Time for Action—Creating the TinyNoiseMaker Custom Control
  • Extending TinyNoiseMaker
    • Time for Action—Adding Public Functionality
    • Time for Action—Using the Control's Public Interface
  • Summary
 
  • Understanding Control Drawing
    • Understanding GDI+
    • The Graphics Object
    • The Control.Paint Event
    • Invalidation
  • Simple Drawing on a Form
    • Time for Action—Creating the Application
  • Drawing Inside a Panel Object
    • Time for Action—Creating the Application
  • Drawing Inside a Control
    • Time for Action—Creating the Application
  • Summary
 
  • The GDI+ Coordinate System
  • Drawing with GDI+
    • Using the Color Object
    • Drawing Using the Pen Object
    • Filling Surfaces Using the Brush Object
    • Drawing Text Using the Font Object
    • Improving Drawing Quality
  • Building the GradientLabel Control
    • Time for Action—Creating the GradientLabel Custom Control
  • Summary
 
  • Drawing Complex Shapes
    • The GraphicsPath Object
    • The Region Object
  • Clipping Drawing Using Region Objects
    • Keeping Drawing Inside a Region
    • Keeping Drawing Outside a Region
  • Graphics Transformations
    • Translation
    • Rotation
    • Scaling
  • Creating the Clock Control
    • Time for Action—Creating the Clock Control
    • Time for Action—Updating the Clock to Use Transformations
  • Summary
 
  • Rendering Common Control Parts
    • Drawing Buttons
    • Drawing Caption Buttons
    • Drawing Checkboxes
    • Drawing Drop-Down Buttons
    • Drawing Radio Buttons
    • Drawing Scroll Buttons
  • Rendering Borders and Frames
    • Rendering Button Borders
    • Rendering 3D Borders
  • Rendering Control Adornments
  • Creating Multiple Controls that Reuse the Same Functionality
    • Creating a Base Class for Two or More Controls
      • Time for Action—Creating the ControlPart Base Class
  • Creating Derived Controls
    • Time for Action—Creating the ScrollArrowButton Control
    • Time for Action—Creating the CheckButton Control
  • Extending Existing Controls
    • Time for Action—Creating the BorderGradientPanel Control
    • Time for Action—Implementing the GradientButton Control
  • Summary
 
  • Drawing Images
    • Using the Image Class
    • Using the Bitmap Class
    • Displaying Images
      • Time for Action—Displaying Images
  • Image Effects
  • Skewing, Rotation, and Scaling
  • Building the ImageWarper Class
    • Time for Action—Creating the ImageWarper Class
  • The ImageWarperControl
    • Time for Action—Creating the ImageWarperApp and the Image WarperControl
  • Summary
 
  • .NET Printing Explained
    • Using the PrintDocument Class
  • Your First Print Job
    • Time for Action—Creating the "Hello Printer!" Application
  • The SimpleReportPrinter
    • Building the SimpleReportPrinter and TextDispenser Classes
      • Time for Action—Building the TextDispenser Class
      • Time for Action—Building the SimpleReportPrinter Class
  • User Involvement
  • Our Responsibilities as Programmers
  • Printing Custom Controls
    • Time for Action—Creating the PrintableRichTextBox
  • Summary
 
  • Collections in the .NET Framework
    • ArrayList
    • Queue
    • Stack
    • SortedList
  • Generics
  • Building the Font Picker
    • Time for Action—Building Font Picker
  • Summary
 
  • Introduction to Double Buffering
  • The Scroll Bar
    • Scroll that Text!
      • Time for Action—Building FlickerFree Control
  • Summary
 
  • Handling Mouse Events
    • Working with Coordinates
  • Dragging and Dropping
    • Dragging
      • Time for Action—Dragging
  • Dragging and Dropping
    • Time for Action—Dragging and Dropping
  • Summary
 
  • Building Designer-Friendly Controls
    • Attributes
    • Designers
    • Type Converters
    • UI Type Editors
    • Property Editors
      • Creating Property Editors
        • Time for Action—Adding Design-Time Support
  • Summary
 
  • The Relationship between User and Computer
    • Communicating with Users
  • Requests, Input Parsing, Fault Tolerance, and Feedback
    • Examining the Sketcher Control
  • Looking Further Into Input Parsing
    • How Can We Use Regex to Our Advantage?
      • Time for Action—Creating the Regex Application
  • Our Regex Pattern in Detail
  • Optimization and Coding Conventions
  • Summary
 
  • Creating the PieChart Control
    • Time for Action—Creating the PieChart Control
  • Adding Slice Names and Delimiters
    • Time for Action—Improving the PieChart Control
  • PieChart Legend
    • Time for Action—Creating the PieChart Legend
  • Printing the PieChart
    • Time for Action—The Printable PieChart
  • Adding and Removing Slices
    • Time for Action—Add Application Support for PieChart Slice Add/Remove Operations
  • Summary
 
  • Creating a Control Library Using Visual Studio 2005
  • Creating a Control Library Using Visual C# Express 2005
  • Using a Custom Control Library
 

商品描述(中文翻譯)

```

目錄



前言


 


第1章:自訂控制項簡介



  • 什麼是控制項?

  • 自訂控制項介紹

    • 使用者控制項的類別





  • 準備您的環境

  • 自訂控制項由什麼組成?

    • 私有欄位

    • 屬性

    • 索引器

    • 事件和委派

      • 處理事件





    • 集合

    • 列舉





  • 構建 TinyNoiseMaker

    • 行動時間—創建 TinyNoiseMaker 自訂控制項





  • 擴展 TinyNoiseMaker

    • 行動時間—添加公共功能

    • 行動時間—使用控制項的公共介面



  • 總結


 



  • 理解控制項繪製

    • 理解 GDI+

    • 圖形物件

    • 控制項的 Paint 事件

    • 無效化





  • 在表單上簡單繪製

    • 行動時間—創建應用程式





  • 在面板物件內繪製

    • 行動時間—創建應用程式





  • 在控制項內繪製

    • 行動時間—創建應用程式





  • 總結



     



    • GDI+ 坐標系統

    • 使用 GDI+ 繪製

      • 使用 Color 物件

      • 使用 Pen 物件繪製

      • 使用 Brush 物件填充表面

      • 使用 Font 物件繪製文字

      • 改善繪製質量





    • 構建 GradientLabel 控制項

      • 行動時間—創建 GradientLabel 自訂控制項





    • 總結



       



      • 繪製複雜形狀

        • GraphicsPath 物件

        • Region 物件





      • 使用 Region 物件進行裁剪繪製

        • 保持繪製在區域內

        • 保持繪製在區域外





      • 圖形變換

        • 平移

        • 旋轉

        • 縮放





      • 創建時鐘控制項

        • 行動時間—創建時鐘控制項

        • 行動時間—更新時鐘以使用變換





      • 總結



         



        • 渲染常見控制項部分

          • 繪製按鈕

          • 繪製標題按鈕

          • 繪製核取方塊

          • 繪製下拉按鈕

          • 繪製單選按鈕

          • 繪製滾動按鈕





        • 渲染邊框和框架

          • 渲染按鈕邊框

          • 渲染 3D 邊框





        • 渲染控制項裝飾

        • 創建多個重用相同功能的控制項

          • 為兩個或更多控制項創建基類

            • 行動時間—創建 ControlPart 基類







        • 創建衍生控制項

          • 行動時間—創建 ScrollArrowButton 控制項

          • 行動時間—創建 CheckButton 控制項





        • 擴展現有控制項

          • 行動時間—創建 BorderGradientPanel 控制項

          • 行動時間—實現 GradientButton 控制項





        • 總結



           



          • 繪製圖像

            • 使用 Image 類

            • 使用 Bitmap 類

            • 顯示圖像

              • 行動時間—顯示圖像







          • 圖像效果

          • 扭曲、旋轉和縮放



          • 構建 ImageWarper 類

            • 行動時間—創建 ImageWarper 類





          • ImageWarperControl

            • 行動時間—創建 ImageWarperApp 和 Image WarperControl





          • 總結



             



            • .NET 列印解釋

              • 使用 PrintDocument 類





            • 您的第一個列印工作

              • 行動時間—創建 'Hello Printer!' 應用程式





            • SimpleReportPrinter

              • 構建 SimpleReportPrinter 和 TextDispenser 類

                • 行動時間—構建 TextDispenser 類

                • 行動時間—構建 SimpleReportPrinter 類







            • 用戶參與

            • 我們作為程式設計師的責任



            • 列印自訂控制項

              • 行動時間—創建可列印的 RichTextBox





            • 總結



               



              • .NET Framework 中的集合

                • ArrayList

                • Queue

                • Stack

                • SortedList





              • 泛型

              • 構建字型選擇器

                • 行動時間—構建字型選擇器





              • 總結



                 



                • 雙緩衝簡介

                • ```