I want to give the Reference popup tool window a wider default width to show more information. I've done this before on another machine but I don't know how. Is it a registry hack?
Thanks in advance because it's very annoying that this toolwindow can't be resized. It obscures certain information which cannot be viewed otherwise.
(Since the other answer doesn't actually describe what to do - I've copied it here in case the external link goes dead).
A process to do this is described in the following article, excerpted here:
(from https://visualstudiomagazine.com/articles/2010/03/02/redesign-ide-dialogs.aspx)
Redesign IDE Dialogs
By Karl E. Peterson 03/02/2010
...Well, there's a tool you can use to do modify these sorts of
settings to your heart's content. Resource Hacker is a freeware
utility to view, modify, rename, add, delete and extract resources in
32-bit Windows executables and resource files.
ResHacker offers a dialog tool that's extremely similar to Classic
VB's -- you just drag the dialog elements around, resizing them to
suit. Or you can edit the raw resource script, and watch the changes
play out in the dialog designer. Simply open the "Dialog" node in the
treeview, find the dialog you want to edit, and go to town. When
you're happy with the new design, press the "Compile Script" button,
then just do a File | Save to write the changes to disk. (Be sure to
make a backup of the original file, first...)
To modify the Classic VB Project-References dialog, open the
VB6IDE.DLL (or VB5IDE.DLL) file in ResHacker, find Dialog #4040 and
get to work.
The article also included two resource scripts - the modified, wider version, and also the original as a reference / backup.
Modified:
4040 DIALOG 0, 0, 455, 305
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "References"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "Tahoma"
{
CONTROL "&Available References:", -1, STATIC, SS_LEFTNOWORDWRAP | WS_CHILD | WS_VISIBLE, 7, 7, 73, 8
CONTROL "", 5050, LISTBOX, LBS_NOTIFY | LBS_MULTIPLESEL | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_GROUP | WS_TABSTOP, 7, 19, 382, 235
CONTROL "OK", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 398, 18, 50, 14
CONTROL "Cancel", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 398, 40, 50, 14
CONTROL "&Browse...", 5051, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 398, 61, 50, 14
CONTROL "&Help", 5052, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 398, 240, 50, 14
CONTROL "Result", 5055, BUTTON, BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 8, 260, 442, 37
CONTROL "Location:", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE, 14, 271, 32, 8
CONTROL "", 5053, STATIC, SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD | WS_VISIBLE, 52, 271, 390, 8
CONTROL "Language:", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE, 14, 282, 36, 8
CONTROL "", 5054, STATIC, SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD | WS_VISIBLE, 52, 282, 390, 8
CONTROL "&U", 4528, BUTTON, BS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 416, 122, 14, 14
CONTROL "&D", 4529, BUTTON, BS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 416, 149, 14, 14
CONTROL "Priority", -1, STATIC, SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD | WS_VISIBLE, 411, 139, 24, 8
}
Original:
4040 DIALOG 0, 0, 295, 204
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "References"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "Tahoma"
{
CONTROL "&Available References:", -1, STATIC, SS_LEFTNOWORDWRAP | WS_CHILD | WS_VISIBLE, 7, 7, 73, 8
CONTROL "", 5050, LISTBOX, LBS_NOTIFY | LBS_MULTIPLESEL | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_GROUP | WS_TABSTOP, 7, 24, 193, 123
CONTROL "OK", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 238, 6, 50, 14
CONTROL "Cancel", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 238, 23, 50, 14
CONTROL "&Browse...", 5051, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 238, 45, 50, 14
CONTROL "&Help", 5052, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 238, 84, 50, 14
CONTROL "Result", 5055, BUTTON, BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 7, 154, 281, 43
CONTROL "Location:", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE, 35, 168, 32, 8
CONTROL "", 5053, STATIC, SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD | WS_VISIBLE, 75, 168, 198, 8
CONTROL "Language:", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE, 35, 180, 36, 8
CONTROL "", 5054, STATIC, SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD | WS_VISIBLE, 77, 180, 196, 8
CONTROL "&U", 4528, BUTTON, BS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 211, 62, 14, 14
CONTROL "&D", 4529, BUTTON, BS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 211, 96, 14, 14
CONTROL "Priority", -1, STATIC, SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD | WS_VISIBLE, 206, 82, 24, 8
}
I've just tried this and it worked correctly. (Using VB6 Enterprise Edition + SP6.)
The tool (Resource Hacker) works very well and not only for VB6 ;-).
Thanks Brian !
Question closed.
Related
I have 2 tables that I'm joining with an Excel Power Query Merge. I have an Hours table and a Parts table. I'm using a Left Outer join on Task_ID to keep all rows from the Hours table and add the matching rows from the Parts table. This is fine and pulls in the Part No. and Cost from the Parts table but because my common field (Task_ID) is not unique I'm getting duplicate rows which is expected but I don't want to duplicate values in the Sum of Hours column (created from an earlier join using an aggregate function).
Is my desired output even possible or is there a better way altogether to go about this?
I want for example to get a Sum of Hours per Week per Task and a Total Cost per Week per Task
Hours
| Week | Task_ID | Sum of Hours |
| ---- |-------- |------------- |
| 01 | ABC#1 | 1 |
| 01 | ABC#2 | 3 |
| 02 | ABC#2 | 3 |
Parts
| Task_ID | Part No. | Cost |
| ------- | -------- | ---- |
| ABC#1 | 111 | 10 |
| ABC#1 | 222 | 20 |
| ABC#2 | 111 | 10 |
| ABC#2 | 333 | 30 |
| ABC#2 | 444 | 40 |
Desired Output
| Week | Task_ID | Sum of Hours | Part No. | Cost |
| ---- | ------- | ------------ | -------- | ---- |
| 01 | ABC#1 | 1 | 111 | 10 |
| 01 | ABC#1 | null | 222 | 20 |
| 01 | ABC#2 | 3 | 111 | 10 |
| 01 | ABC#2 | null | 222 | 20 |
| 01 | ABC#2 | null | 333 | 30 |
| 02 | ABC#2 | 3 | 111 | 10 |
| 02 | ABC#2 | null | 222 | 20 |
| 02 | ABC#2 | null | 333 | 30 |
Am unsure if the desired output shown in the question is exactly correct or meant as a rough example. For example, it doesn't seem to contain the row where Task_ID is ABC#2 and Part No. is 444, even though ABC#2 appears in the Hours table.
The code below should give you something similar to what you've shown for the Sum Of Hours column in the expected output (i.e. the original value for the first occurrence, then null for any recurrences).
let
hours = Table.FromColumns({
{"01", "01", "02"},
{"ABC#1", "ABC#2", "ABC#2"},
{1, 3, 3}
}, type table [Week = text, Task_ID = text, Sum Of Hours = text]),
parts = Table.FromColumns({
{"ABC#1", "ABC#1", "ABC#2", "ABC#2", "ABC#2"},
{111, 222, 111, 333, 444},
{10, 20, 10, 30, 40}
}, type table [Task_ID = text, #"Part No." = text, Cost = text]),
joined = Table.NestedJoin(hours, "Task_ID", parts, "Task_ID", "_joined", JoinKind.LeftOuter),
nestedIndex = Table.TransformColumns(joined, {"_joined", each Table.AddIndexColumn(_, "_index"), type table}),
expanded = Table.ExpandTableColumn(nestedIndex, "_joined", {"Part No.", "Cost", "_index"}),
madeDuplicatesNull = Table.FromRecords(Table.TransformRows(expanded, each
Record.RemoveFields(_, {"_index", "Sum Of Hours"})
& [Sum Of Hours = if [_index] > 0 then null else [Sum Of Hours]]
))
in
madeDuplicatesNull
However, if the aim here is just to compute some numbers per week per task, you can probably compute the figure directly (de-duplicating where necessary) without expanding the rows? Something like:
let
hours = Table.FromColumns({
{"01", "01", "02"},
{"ABC#1", "ABC#2", "ABC#2"},
{1, 3, 3}
}, type table [Week = text, Task_ID = text, Sum Of Hours = text]),
parts = Table.FromColumns({
{"ABC#1", "ABC#1", "ABC#2", "ABC#2", "ABC#2"},
{111, 222, 111, 333, 444},
{10, 20, 10, 30, 40}
}, type table [Task_ID = text, #"Part No." = text, Cost = text]),
joined = Table.NestedJoin(hours, "Task_ID", parts, "Task_ID", "_joined", JoinKind.LeftOuter),
grouped = Table.Group(joined, {"Week", "Task_ID"}, {
{"Sum Of Hours", each List.Single([Sum Of Hours]), type number},
{"Cost", each
let
aggregated = Table.AggregateTableColumn(_, "_joined", {{"Cost", List.Sum, "Cost"}}),
cost = List.Single(aggregated[Cost])
in cost
, type number}
})
in
grouped
What I want
Sort results by counter and group by country
Sample input
let Source = datatable(Page:string, Region:string, Count:int)
[
'page1', 'United States', 100,
'page2', 'United States', 50,
'page3', 'United States', 25,
'page1', 'United Kingdom', 120,
'page2', 'United Kingdom', 60,
'page3', 'United Kingdom', 30,
'page1', 'Russia', 60,
'page2', 'Russia', 30,
'page3', 'Russia', 15,
'page1', 'Canada', 80,
'page2', 'Canada', 40,
'page3', 'Canada', 20
];
Source
| sort by Region, Count
What I see
page1 | United States | 100
page2 | United States | 50
page3 | United States | 25
page1 | United Kingdom | 120
page2 | United Kingdom | 60
page3 | United Kingdom | 30
page1 | Russia | 60
page2 | Russia | 30
page3 | Russia | 15
page1 | Canada | 80
page2 | Canada | 40
page3 | Canada | 20
What i expect to see
page1 | United Kingdom | 120
page2 | United Kingdom | 60
page3 | United Kingdom | 30
page1 | United States | 100
page2 | United States | 50
page3 | United States | 25
page1 | Canada | 80
page2 | Canada | 40
page3 | Canada | 20
page1 | Russia | 60
page2 | Russia | 30
page3 | Russia | 15
I get a list of pages by country, sorted by the number of visits, but the countries themselves are arranged randomly, not in descending order of visits. How to fix it?
Here is an example of how to calculate total sum, join by country and sort by TotalCount first:
let Source = datatable(Page:string, Region:string, Count:int)
[
'page1', 'United States', 100,
'page2', 'United States', 50,
'page3', 'United States', 25,
'page1', 'United Kingdom', 120,
'page2', 'United Kingdom', 60,
'page3', 'United Kingdom', 30,
'page1', 'Russia', 60,
'page2', 'Russia', 30,
'page3', 'Russia', 15,
'page1', 'Canada', 80,
'page2', 'Canada', 40,
'page3', 'Canada', 20
];
Source
| join kind=leftouter (Source | summarize TotalCount=sum(Count) by Region) on Region
| sort by TotalCount, Region, Count
| project Page, Region, Count
Here is the result:
See this doc for live example
Given this data:
+-----------------+-----------+--------------------+
| extraction_date | seller_id | listings_remaining |
+-----------------+-----------+--------------------+
| 2020-02-03 | 110569676 | 69 |
| 2020-02-03 | 91489962 | 10 |
| 2020-01-04 | 120000084 | 4 |
| 2020-02-01 | 102356225 | 3 |
| 2020-02-26 | 110569676 | 176 |
| 2020-02-26 | 91489962 | 12 |
| 2020-02-10 | 120000084 | 8 |
+-----------------+-----------+--------------------+
I want to return one row per seller, matching the row with the latest extraction date per seller, and only if the latest extraction date of that seller is more than 15 days in the past.
'=filter(A4:C4,(match(A4,maxifs(A4:A10,B4:B10,"="&B4:B10),0))*(A4:A10<today()-15))
I cannot seem to make it work. I tried maxifs'ing without the match, inserting the 15 day condition into the maxif... but filter function resists all my attempts.
Edit: this is going to be part of an already existing working FILTER function, that's why I am constraining myself to the user of filter and not QUERY or database functions.
use:
=QUERY(SORTN(SORT(A4:C, 1, 0), 999^99, 2, 2, 0),
"where Col1 < date '"&TEXT(TODAY()-15, "yyyy-MM-dd")&"'", 0)
or with FILTER
=FILTER(SORTN(SORT(A4:C, 1, 0), 999^99, 2, 2, 0),
INDEX(SORTN(SORT(A4:C, 1, 0), 999^99, 2, 2, 0),,1)<TODAY()-15)
Having difficulty, even after reading the docs, to get the 'property name' from the related 'properties' table while querying for a product from the 'products' table with the pivot 'product_properties'.
My Models: Models\Product::class, Models\Property::class, Models\ProductProperty::class;
If I run the query:
$product = new App\Models\Product();
$product->where('id', 1)->with('properties')->get();
I get the full product object along with the properties, and this is working good, but what I can't figure out is how to get the property name from the properties table.
In summary, I need to display the property name from the properties table that is related with the product_properties table. Ex: 130mm width
What I need to achieve is something like the following:
Illuminate\Database\Eloquent\Collection {#4400
all: [
App\Models\Product {
id: 1,
name: "Chrystal Block",
details: "Ships in an exclusive branded box.",
price: 50.00,
has_shipment: 1,
created_at: "2019-05-10 02:15:22",
updated_at: "2019-05-10 02:15:22",
deleted_at: null,
properties: Illuminate\Database\Eloquent\Collection {
all: [
App\Models\ProductProperty {
product_id: 4,
property_id: 1,
value: "130",
unit: "mm",
created_at: "2019-05-11 23:09:35",
updated_at: "2019-05-11 23:09:35",
deleted_at: null,
// ***** This is what I'm looking for (hardcoded here *****
property: Illuminate\Database\Eloquent\Collection {
all: [
App\Models\Property {
id: 1,
name: "width",
created_at: "2019-05-11 23:09:35",
updated_at: "2019-05-11 23:09:35",
]
},
},
App\Models\ProductProperty {
product_id: 4,
property_id: 2,
value: "17",
unit: "mm",
created_at: "2019-05-11 23:09:35",
updated_at: "2019-05-11 23:09:35",
deleted_at: null,
},
App\Models\ProductProperty {
product_id: 4,
property_id: 3,
value: "60",
unit: "mm",
created_at: "2019-05-11 23:09:35",
updated_at: "2019-05-11 23:09:35",
deleted_at: null,
},
App\Models\ProductProperty {
product_id: 4,
property_id: 4,
value: "2.78",
unit: "kg",
created_at: "2019-05-11 23:09:35",
updated_at: "2019-05-11 23:09:35",
deleted_at: null,
},
],
},
},
],
}
Thanks in advance for any help in this Eloquent query.
My tables are the following with sample data:
Table 'products'
+--------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(191) | NO | | NULL | |
| details | text | NO | | NULL | |
| price | double(8,2) | NO | | NULL | |
| has_shipment | tinyint(1) | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
| deleted_at | timestamp | YES | | NULL | |
+--------------+---------------------+------+-----+---------+----------------+
Values:
(1, 'Chrystal Block', 'Ships in an exclusive branded box.', 50.00, 1, '2019-05-10 02:15:22', '2019-05-10 02:15:22', NULL);
Table 'properties'
+------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(191) | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
| deleted_at | timestamp | YES | | NULL | |
+------------+---------------------+------+-----+---------+----------------+
Values:
(1, 'width', '2019-05-11 22:53:45', '2019-05-11 22:53:45', NULL),
(2, 'height', '2019-05-11 22:53:45', '2019-05-11 22:53:45', NULL),
(3, 'length', '2019-05-11 22:53:45', '2019-05-11 22:53:45', NULL),
(4, 'weight', '2019-05-11 22:53:45', '2019-05-11 22:53:45', NULL);
Table 'product_properties'
+-------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------------+------+-----+---------+-------+
| product_id | int(10) unsigned | NO | MUL | NULL | |
| property_id | int(10) unsigned | NO | MUL | NULL | |
| value | varchar(191) | NO | | NULL | |
| unit | varchar(191) | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
| deleted_at | timestamp | YES | | NULL | |
+-------------+---------------------+------+-----+---------+-------+
Values:
(1, 1, '130', 'mm', '2019-05-11 23:09:35', '2019-05-11 23:09:35', NULL),
(1, 2, '17', 'mm', '2019-05-11 23:09:35', '2019-05-11 23:09:35', NULL),
(1, 3, '60', 'mm', '2019-05-11 23:09:35', '2019-05-11 23:09:35', NULL),
(1, 4, '2.78', 'kg', '2019-05-11 23:09:35', '2019-05-11 23:09:35', NULL);
For getting relationship of relationship (Nested Relationship) you can try
$product->where('id', 1)->with('properties.property')->get();
I really love the explanation in this answer for its clarity.
I am constructing my own color selection dialog, and I have finished laying out all the controls in my dialog template. However, there is one weird thing I'm noticing:
Notice how there's extra vertical space between the H and S edit controls, and the R and G edit controls, than there are between any other two edit controls.
The H, S, and V edits in my resource file are
EDITTEXT rcH, 238, 78, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
EDITTEXT rcS, 238, 92, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
EDITTEXT rcV, 238, 106, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
so I would assume they would tightly hug. Why don't they? Is it a rounding issue with the dialog unit conversion? I tried different font sizes but didn't notice a change.
And in fact, why do the edges of all the edit fields overlap slightly? I would assume two edit controls next to each other wouldn't overlap; if I change the font from Segoe 9 to Segoe 8 the text fields actually flicker when tabbing between them due to the overlap.
This is on Windows 7 x64, which is my minimum requirement. This dialog will most likely be run with the DialogBoxParam() function, but I doubt which function I use would be the issue...? Right now I'm just using DialogBox().
Thanks!
#define rcColorDialog 102
#define rcFontSamplePlacement 1003
#define rcColorSVChooser 1100
#define rcColorHSlider 1101
#define rcPreview 1102
#define rcOpacitySlider 1103
#define rcH 1104
#define rcS 1105
#define rcV 1106
#define rcRDouble 1107
#define rcRInt 1108
#define rcGDouble 1109
#define rcGInt 1110
#define rcBDouble 1111
#define rcBInt 1112
#define rcADouble 1113
#define rcAInt 1114
#define rcHex 1115
#define rcHLabel 1116
#define rcSLabel 1117
#define rcVLabel 1118
#define rcRLabel 1119
#define rcGLabel 1120
#define rcBLabel 1121
#define rcALabel 1122
#define rcHexLabel 1123
rcColorDialog DIALOGEX 13, 54, 344, 209
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_3DLOOK
CAPTION "Color"
FONT 9, "Segoe UI"
BEGIN
// this size should be big enough to get at least 256x256 on font sizes >= 8 pt
CTEXT "AaBbYyZz", rcColorSVChooser, 7, 7, 195, 195, SS_NOPREFIX | SS_BLACKRECT
// width is the suggested slider height since this is vertical
CTEXT "AaBbYyZz", rcColorHSlider, 206, 7, 15, 195, SS_NOPREFIX | SS_BLACKRECT
LTEXT "Preview:", -1, 230, 7, 107, 9, SS_NOPREFIX
CTEXT "AaBbYyZz", rcPreview, 230, 16, 107, 20, SS_NOPREFIX | SS_BLACKRECT
LTEXT "Opacity:", -1, 230, 45, 107, 9, SS_NOPREFIX
CTEXT "AaBbYyZz", rcOpacitySlider, 230, 54, 107, 15, SS_NOPREFIX | SS_BLACKRECT
LTEXT "&H:", rcHLabel, 230, 81, 8, 8
EDITTEXT rcH, 238, 78, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
LTEXT "&S:", rcSLabel, 230, 95, 8, 8
EDITTEXT rcS, 238, 92, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
LTEXT "&V:", rcVLabel, 230, 109, 8, 8
EDITTEXT rcV, 238, 106, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
LTEXT "&R:", rcRLabel, 277, 81, 8, 8
EDITTEXT rcRDouble, 285, 78, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
EDITTEXT rcRInt, 315, 78, 20, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
LTEXT "&G:", rcGLabel, 277, 95, 8, 8
EDITTEXT rcGDouble, 285, 92, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
EDITTEXT rcGInt, 315, 92, 20, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
LTEXT "&B:", rcBLabel, 277, 109, 8, 8
EDITTEXT rcBDouble, 285, 106, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
EDITTEXT rcBInt, 315, 106, 20, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
LTEXT "&A:", rcALabel, 277, 123, 8, 8
EDITTEXT rcADouble, 285, 120, 30, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
EDITTEXT rcAInt, 315, 120, 20, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
LTEXT "He&x:", rcHexLabel, 269, 146, 16, 8
EDITTEXT rcHex, 285, 143, 50, 14, ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "OK", IDOK, 243, 188, 45, 14, WS_GROUP
PUSHBUTTON "Cancel", IDCANCEL, 292, 188, 45, 14, WS_GROUP
END