Developing for the Windows platform using Visual Studio 6 PowerPoint PPT Presentation

presentation player overlay
1 / 19
About This Presentation
Transcript and Presenter's Notes

Title: Developing for the Windows platform using Visual Studio 6


1
Developing for the Windows platform using Visual
Studio 6
  • Stefan Negritoiu, Duke MUG stefan.negritoiu_at_duke.e
    du
  • March 26, 2001

2
Outline
  • Administrative
  • Visual Studio
  • Visual Basic
  • Visual C
  • Platform SDK
  • MSDN
  • Demos
  • QA

3
Administrative - Duke MUG
  • Software
  • Mugs
  • Mini-Library
  • MSDN share
  • Pocket PC Contest
  • Deadline April 8, midnight
  • Submit completed forms and software to
    lmh6_at_duke.edu
  • Winners get Pocket PCs

4
Visual Studio
  • Visual Basic
  • RAD (Rapid Application Development)
  • Visual C
  • Tool of choice for most professionals
  • Visual FoxPro
  • Visual InterDev
  • Visual J
  • Visual SourceSafe
  • Tools

5
Visual Basic
  • Complete IDE
  • Editor, debugger, software packager
  • Not BASIC
  • Uses a subset of the keywords (Dim, ForNext, Do
    WhileLoop)
  • Truly object-oriented except own code (classes
    available)
  • Event driven
  • No Win32 API message loop for GUI

6
Visual Basic - GUI
  • Windows are forms
  • You draw buttons, text fields, list boxes
  • GUI elements are controls
  • Historically VBX -gt OCX -gt ActiveX
  • Controls
  • Receive events
  • Have design-time and run-time properties
  • Avaialble of any kind normal controls, dialog
    boxes, font and color pickers and you can make
    your own

7
Visual Basic - Code
  • Procedural language
  • Sub (procedure) and Function (function)
  • Can be organized in classes and modules
  • Typed variables and Variants
  • Plain and Set assignments
  • When shipping app you need to have runtime
  • Cool IntelliSense technology

8
Visual Basic - Code
  • You can call Win32 API function
  • You can call functions from DLLs
  • App packager (setup wizard)

9
Visual C
  • Complete IDE
  • C, C compiler, debugger, libraries, tools
  • Libraries
  • STL, MFC, ATL, WTL
  • App-Wizard
  • Can write your own
  • Class-Wizard, Class Viewer
  • Intellisense

10
Visual C - GUI
  • Message loop paradigm
  • Using Win32 API
  • Low-level, cool stuff, but primitive
  • Using MFC
  • Tool of choice
  • Great for client apps, too heavy for server apps
  • Need to ship runtime (version conflict)
  • Goal to have a universal runtime

11
Visual C - GUI
  • Alternative to MFC WTL
  • Not supported
  • Born from ATL
  • Template based fast and small
  • Preferred for ActiveX controls (along w/ ATL)
  • GUI is drawn similar to VB
  • Resources
  • bitmaps and strings included in executable
  • Permit easy international versions

12
Visual C - Code
  • Fully supports ANSI C and C
  • Not different from any other C/C compiler in
    this sense
  • You can do your CPS homework
  • But need to port Duke specific classes
  • Microsoft extensions
  • Character set support (TCHAR, ANSI and Unicode)
  • Clearly documented in MSDN
  • Many defines and typedefs for easier migration
    and portability

13
Visual C - Code
  • Console apps
  • GUI apps
  • DLL
  • COM components / ActiveX controls
  • Specialized DLLs (ex ISAPI)
  • Win NT/2000 services
  • Code is organized in
  • C, CPP, RES, DEF and other files
  • Projects and workspaces

14
Visual C - components
  • COM components (ActiveX controls)
  • Written using VB (need runtime, only apartment
    threaded)
  • Written using VC
  • Raw C
  • MFC (more flexibility but same as VB)
  • ATL (recommended)
  • Examples MS Office, IE
  • The future is .Net

15
Platform SDK
  • Win32 API
  • The set of APIs exposed by the platform
  • Directly used mostly from VC
  • Base services (files, I/O, memory, IPC, registry)
  • Component services (COM, COM, MTS)
  • Data services (MDAC, XML, SQL)
  • Graphics and multimedia (DirectX, Windows Media,
    OpenGL, Windows GDI)
  • Management services (MMC, MSI, SMS, task
    scheduler, Win File Protection, WMI, Win System
    Info)

16
Platform SDK
  • Win32 API (cont.)
  • Messaging and collaboration (MAPI, CDO,
    NetMeeting
  • Networking and directory (SSPI, MSMQ, RAS, TAPI,
    UPnP, SNMP, NetBIOS, RPC, Winsock)
  • Security (SSPI, CryptoAPI, SmartCards)
  • UI services (accessibility, agents, shell)
  • Web services (ISAPI)
  • Other (Speech API)

17
MSDN
  • By far the most comprehensive programming
    documentation (personal opinion)
  • You can buy a subscription, get it at \\Jazz\MSDN
    (on ResNet) or use it from http//msdn.microsoft.c
    om/library
  • Useful not only for Windows programming but for
    any other C/C project (has STL docs)
  • Reference docs, articles, tutorials, white
    papers, resource kits, partial books
  • Ton of samples

18
Demos
19
QA, Resources
  • Books available in the mini-library
  • www.studentdev.org
  • www.cs.duke.edu/stefann/MUG
  • http//msdn.microsoft.com
  • Fill and turn in surveys
  • Food and drinks outside
Write a Comment
User Comments (0)
About PowerShow.com