![]() 3D 3D Photo Gallery (Part 1) 3D Photo Gallery (Part 2) Audio Poor Man's MIDI Make A Metronome iPod Tricks (Part 1) iPod Tricks (Part 2) iPod Tricks (Part 3) Laugh Track Machine Audio Player with Reverb Shepard Melody RB Phone Home Build a Drum Machine Custom Controls and Windows Double Click Listbox Draggable Metal Window Double Click Canvas Custom Buttons Custom Buttons Part II iTunes-style Listboxes Custom Controls General RB Scrolling Windows Using Mesage Dialogs Case-Sensitive Word Finder Introduction to Stacks Wiggle Window JPEG in PDF Listbox Checkboxes Background Applications Listbox Auto-Find Virtual Volumes Time Tracker Software Distribution (Part 1) Software Distribution (Part 2) Software Distribution (Part 3) Software Distribution (Part 4) Exceptions Tips and Tricks Text Clippings Made Easy Graphics Drawing a Simple Gradient The SpriteSurface: Space Game Image Spinner Cropping Graphics (Part 1) Cropping Graphics (Part 2) Cropping Graphics (Part 3) Cropping Graphics (Part 4) Shimmer Graphics Lissajous Figures Simple Screen Capture Vector Graphics Kaleidoscope Images Stegonography Spirals! Image Table RB Magnifying Lens Screen Capture Color Picker Tutorial Hacks Ghost Grab Speedy Mouse Extension iTunes Plugins iTunes Skinner Mac OS X Global Hot Key Event (Carbon Events) Login Welcomer (Carbon Events) Add/Remove Buttons Resizable Sheets Mac OS X Preferences Window Using Sheets in REALbasic Build a Bundle (Part 1) Build a Bundle (Part 2) Dock Your Passwords Mac OS X Debugging REALbasic Mac OS X Icon Tutorial Animate Your Dock RB and the Command Line Menus Window Menu Templates Menu Listbox Menu Novelty Guessing Game Calendar Trivia Tile Mixer Zip Code Finder Happy Valentine's Day Merlin Simulator (Part 1) Merlin Simulator (Part 2) Merlin Simulator (Part 3) Buzzword Machine AppleSoft BASIC Printing Print to PDF Registration Registration Code Validation Network Registration Codes Resources Picture Extractor (Part 1) Picture Extractor (Part 2) Serial Caller ID (Part 1) Caller ID (Part 2) Caller ID (Part 3) Speech Speech Recognition Socket Communication Easy Peer-to-Peer File Sharing MacPAD Version Checking Display Web Image In Canvas HTML IMG Tags Version Tracking Even Smarter Instant Messaging Web Tiler JavaScript and REALbasic Stock Ticker (Part I) Stock Ticker (Part 2) AIM Mate XML Manipulation Simple XML Introduction Video Big Brother Video Capture Note: All articles without a byline were written by Erick Tejkowski. When cleaning the site I removed them because the code differed from page to page, and I have yet to put them back in.
Tell us about a bad link. |
Based on suggestions from ResExcellence readers, this week's tutorial will continue with the project started in the previous tutorial - Picture Extractor. Last week, we looked at how to open any application's resource fork and view the enclosed 'PICT' resources. We also added the ability to export any of the 'PICT' resources to a PICT file. Several readers wrote saying that it would be nice to give users the chance to change any of the 'PICT' resources located within the application's resource fork. This week, we'll do just that. The result is a handy little application that will let you hack away at your favorite startup screens, about boxes, and assorted resource tom-foolery without the usual resource shuffle. Expand the Interface If you are following along from last time, you can simply open last week's project. If you didn't catch the last article, you can:
Once you have the project opened, open Window1 with a double-click. Resize Listbox1 so that it is 300 pixels high and add a PushButton (named PushButton3 by default) directly below Listbox1. Change the Caption property of PushButton3 to reflect its functionality. For example, I changed it to "Replace with PICT" (without quotes). By now, your interface might look like this:
Suppose that you want a user to click this button only when there is a selection in Listbox1. You could accomplish this with a bunch of code, but REALbasic makes it a no-brainer. To make PushButton3 automatically enabled when Listbox1 has a selection (and conversely disabled when the Listbox has no selection), you must "bind" the PushButton to the Listbox. To bind two controls together, press Command-Shift and drag from PushButton3 to Listbox1. As you do, a small line will appear and show the connection of the two controls. When you let go of the mouse, REALbasic displays a dialog asking you which kind of binding you'd like to attach between these two controls: ![]() Click to expand For this example, there is only one choice. Click OK, and Window1 shows the bound controls in your interface. Don't worry, this line is invisible when the application runs. If you mess something up, you can select the line and press Delete to remove the binding. By now, your interface should look like this:
The great part about this binding is that REALbasic takes care of enabling and disabling the PushButton for us. We don't need to write any other code. Now, whenever a user selects an item in the list, the PushButton will spring to life. Deselection disables the PushButton. Lots of function; little work. These great little touches might help explain REALbasic's popularity. Add the Code Double-click PushButton3 to open its Action Event in the Code Editor. Add the following code: dim sourcefile as FolderItem This code begins by presenting an Open File dialog box and permitting a user to open a 'PICT' file type. This is the picture that will go into the application's resource fork. If the user chooses a picture file, we then create a resource number based on the currently selected item in Listbox1. We will transfer the graphic from the picture file to the 'PICT' resource using this resource number. This will replace the previous 'PICT' resource, so make sure to work only on backup copies of applications. With a resource number readied, we
Next, we do the dirty deed - copying the picture from p to the resource fork of the application. The magic here occurs courtesy of the AddPicture method of the ResourceFork class. AddPicture has three parameters:
The code concludes by closing the resource fork of the application and refreshing the display of Canvas1. Test and Build Select Debug->Run to test your handiwork. When you are convinced that everything works smoothly, select File->Build Application to create the executable application. Now, get changing those splash screens! As is customary, you can: |
|||||
|
Please support ResExcellence by Visiting our Sponsors. One click makes a difference. |
||||||
|
|