Window. Window handling. Basic window’s form elements
- Win32 API
- GIT
- Window
- Button
- Text Input
- Text
You can use whatever IDE/Text editor/CLI you want, but you'll have to write code by your own. I recommend CodeBlocks as it is cross platform, has a version which contains a compiler, and is less tempting to try drag-n-drop features.
- Download. Better choose a version which has compiler. Also it is a good idea to take last stable version (12.11), but it is not mandatory as 8.X is also good one.
- Install. After installation it will ask you to choose a default compiler. Do it wisely.
- File -> New -> Project -> Win32 GUI project -> Next...
- In order to see only GUI window without console, in Project properties, set Build targets -> Type -> GUI Application (project may need a rebuild)
You should be familiar with GIT, if not then take a look at IDE Lab nr.1.
Main purposes of GIT/GitHub are:
- Proof of your work
- Analyzing your progress and understanding of course
- Safe place to keep your work
- Delimiting development and ready work
By default you have one branch - master. I'll review only work from that branch.
Initially master branch should have two files: .gitignore and README.md.
- I recommend to copy .gitignore file from WP Labs master branch. Add additional rules in order not to submit unnecessary files to repository.
- README.md (can be any other flavoured by GitHub extension) should contain at least the name of course and your name.
Later you'll have one folder per laboratory work. Use lab#X format (where X is laboratory work number). More about this you can find on Submission Process page.
Before submission you can use other branches to work on your projects. You can use other branches in order to require help from me or other classmates.
- for Basic Level (grade 5 || 6) you should be able to:
- Create a Windows application
- In the middle of the window should be present the following text: "Done with Pride and Prejudice by student name". Replace student name with your name.
- On windows resize, text should reflow and be in window's middle (vertically and horizontally)
- for Normal Level (grade 7 || 8) you should be able to:
- Realize the tasks from Basic Level.
- Add 2 buttons to window: one with default styles, one with custom styles (size, background, text color, font family/size)
- Add 2 text elements to window: one with default styles, one with custom styles (size, background, text color, font family/size)
- for Advanced Level (grade 9 || 10) you should be able to:
- Realize the tasks from Normal Level.
- Make elements to interact or change other elements (2 different interactions) (ex. on button click, change text element color or position)
- Change behavior of different window actions (at least 3). For ex.: on clicking close button, move window to a random location on display working space
- Programming Windows by Charlez Petzold, 5th edition:
- Section I, Chapter 1
- Section I, Chapter 2
- Section I, Chapter 3
- Section I, Chapter 4
- Section I, Chapter 9