Design a custom win32 control: Display like Disk Defrag
$30-250 USD
已完成
已发布超过 14 年前
$30-250 USD
货到付款
We need someone to develop a custom win32 control, it must be done done completely in C (not C++), and use only the win32 API.
The desired control must provide an interface that shows the representation of a hard disk blocks with diferent colors. It will be feed with an array with the index of the box colors and must provide the way to show 2 size of boxes. You could look at the attached images from some disk defragmentation programs to make an idea. The number of box to displays depends on the control dimensions, it must be handled when the control is resized.
At the bottom of the control you must provide 12 color boxes with their captions, to indicate the user what does each color means.
The custom styles it is going to use are:
HDFS_SHOWSCROLL
-this style tell to the control to show an scrollbar at the right when the control is in the mode "HDF_MODE_SHOWALL" or "HDF_MODE_ADJUST"
HDFS_SMALLBOX
-this style tell the control to use small boxes, the small boxes are boxes of 6x6 pixels with 1 pixel of margin among each box
HDFS_BIGBOX
-this style tell the control to use big boxes, the big boxes are boxes of 8x8 pixels with 1 pixel of margin among each box
The custom messages it will receive are:
HDFS_SETCAPTION(INT palette_index, TCHAR *palette_caption)
-this message sets a caption for a given palette number, in case that palete_caption==NULL it must hide the current color box.
HDFS_SETCOLOR(palette_index, COLOR palette_color)
-this message sets the color for a given palette number.
HDFS_SETBLOCKCOUNT(INT block_count)
-this message sets the number de blocks contained in the array.
HDFS_SETBLOCKARRAY(char *blocks)
-this message defines what array is the one that represents the blocks bitmap.
HDFS_REFRESH()
-this message forces the control to refresh.
HDFS_SETMODE(int HMODE)
-this message set the current display mode, modes:
HDF_MODE_SHOWALL: show all the elements, uses scroll if needed.
HDF_MODE_ADJUST: srink the bitmap tho fit the current boxes disposition.
The control must be provided in its source code form, and need to have a sample program that uses it, the sample consist in a console with random messages and let the user to remove or copy a line doing click in that line.
Important:
-Must be done in plain C (if you can't don't bid on it)
-It must be memory efficient, don't have to produce leaks.
-Must not depend on third party libraries nor DLLs (of course it can depend on win32 Common Controls)
Please ask in the clarification board for more info.