|
Тема |
Re: Инцидентна сложност [re: zaphod] |
|
Автор |
Eвлaмпи Пoпдимитpoв (световноизвесен) |
|
Публикувано | 23.03.10 23:19 |
|
|
gdi+ е старо, сега на мода е дотнет и ком интероп, на уиндолс мобилките се очертава да е само дотнет, но не пречи да безчинстваме на си и ком докато още мърдат :)
ПП. менютата имат известно управление от виста насам:
def image=(image) self.info = MENUITEMINFO.new.tap { |mii| mii[:fMask] = MIIM_BITMAP; mii[:hbmpItem] = image.handle } end
където image получаваме примерно:
class BitmapImage < Handle
include IBitmap
def initialize(path, width = 0, height = 0)
raise 'LoadImage failed.' if (@handle = LoadImage(nil, @path = path, IMAGE_BITMAP, width, height, LR_LOADFROMFILE | LR_CREATEDIBSECTION)).null?; attach
end
attr_reader :path
def dispose; DeleteObject(@handle); detach end
end
Разбира се добре е битмап файла да е 32 bpp с _premultiplied_ _alpha_ каквото и да значи това (интересното е, че с много по-удобната рибона нема проблеми),
предполагам фотошоп го може, от безплатните, като безплатна бира пикселформер май е варианта :)
Микрософт са яки де, тъкмо мога да рулирам произволен ком обект, без да ме ебе айдиспач и прочие и са дотнет, добре, добре
def toggle(what) send("#{what}=", !send("#{what}?")); self end
|
| |
|
|
|